awssagemaker

package
v2.84.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 14, 2023 License: Apache-2.0 Imports: 7 Imported by: 6

README

Amazon SageMaker Construct Library

This module is part of the AWS Cloud Development Kit project.

import sagemaker "github.com/aws/aws-cdk-go/awscdk"

There are no official hand-written (L2) constructs for this service yet. Here are some suggestions on how to proceed:

An experimental construct library for this service is available in preview. Since it is not stable yet, it is distributed as a separate package so that you can pin its version independently of the rest of the CDK. See the package:

@aws-cdk/aws-sagemaker-alpha

There are no hand-written (L2) constructs for this service yet. However, you can still use the automatically generated L1 constructs, and use this service exactly as you would using CloudFormation directly.

For more information on the resources and properties available for this service, see the CloudFormation documentation for AWS::SageMaker.

(Read the CDK Contributing Guide and submit an RFC if you are interested in contributing to this construct library.)

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CfnAppImageConfig_CFN_RESOURCE_TYPE_NAME

func CfnAppImageConfig_CFN_RESOURCE_TYPE_NAME() *string

func CfnAppImageConfig_IsCfnElement

func CfnAppImageConfig_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnAppImageConfig_IsCfnResource

func CfnAppImageConfig_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnAppImageConfig_IsConstruct

func CfnAppImageConfig_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

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.

Returns: true if `x` is an object created from a class which extends `Construct`.

func CfnApp_CFN_RESOURCE_TYPE_NAME

func CfnApp_CFN_RESOURCE_TYPE_NAME() *string

func CfnApp_IsCfnElement

func CfnApp_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnApp_IsCfnResource

func CfnApp_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnApp_IsConstruct

func CfnApp_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

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.

Returns: true if `x` is an object created from a class which extends `Construct`.

func CfnCodeRepository_CFN_RESOURCE_TYPE_NAME

func CfnCodeRepository_CFN_RESOURCE_TYPE_NAME() *string

func CfnCodeRepository_IsCfnElement

func CfnCodeRepository_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnCodeRepository_IsCfnResource

func CfnCodeRepository_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnCodeRepository_IsConstruct

func CfnCodeRepository_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

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.

Returns: true if `x` is an object created from a class which extends `Construct`.

func CfnDataQualityJobDefinition_CFN_RESOURCE_TYPE_NAME

func CfnDataQualityJobDefinition_CFN_RESOURCE_TYPE_NAME() *string

func CfnDataQualityJobDefinition_IsCfnElement

func CfnDataQualityJobDefinition_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnDataQualityJobDefinition_IsCfnResource

func CfnDataQualityJobDefinition_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnDataQualityJobDefinition_IsConstruct

func CfnDataQualityJobDefinition_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

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.

Returns: true if `x` is an object created from a class which extends `Construct`.

func CfnDeviceFleet_CFN_RESOURCE_TYPE_NAME

func CfnDeviceFleet_CFN_RESOURCE_TYPE_NAME() *string

func CfnDeviceFleet_IsCfnElement

func CfnDeviceFleet_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnDeviceFleet_IsCfnResource

func CfnDeviceFleet_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnDeviceFleet_IsConstruct

func CfnDeviceFleet_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

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.

Returns: true if `x` is an object created from a class which extends `Construct`.

func CfnDevice_CFN_RESOURCE_TYPE_NAME

func CfnDevice_CFN_RESOURCE_TYPE_NAME() *string

func CfnDevice_IsCfnElement

func CfnDevice_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnDevice_IsCfnResource

func CfnDevice_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnDevice_IsConstruct

func CfnDevice_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

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.

Returns: true if `x` is an object created from a class which extends `Construct`.

func CfnDomain_CFN_RESOURCE_TYPE_NAME

func CfnDomain_CFN_RESOURCE_TYPE_NAME() *string

func CfnDomain_IsCfnElement

func CfnDomain_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnDomain_IsCfnResource

func CfnDomain_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnDomain_IsConstruct

func CfnDomain_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

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.

Returns: true if `x` is an object created from a class which extends `Construct`.

func CfnEndpointConfig_CFN_RESOURCE_TYPE_NAME

func CfnEndpointConfig_CFN_RESOURCE_TYPE_NAME() *string

func CfnEndpointConfig_IsCfnElement

func CfnEndpointConfig_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnEndpointConfig_IsCfnResource

func CfnEndpointConfig_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnEndpointConfig_IsConstruct

func CfnEndpointConfig_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

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.

Returns: true if `x` is an object created from a class which extends `Construct`.

func CfnEndpoint_CFN_RESOURCE_TYPE_NAME

func CfnEndpoint_CFN_RESOURCE_TYPE_NAME() *string

func CfnEndpoint_IsCfnElement

func CfnEndpoint_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnEndpoint_IsCfnResource

func CfnEndpoint_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnEndpoint_IsConstruct

func CfnEndpoint_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

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.

Returns: true if `x` is an object created from a class which extends `Construct`.

func CfnFeatureGroup_CFN_RESOURCE_TYPE_NAME

func CfnFeatureGroup_CFN_RESOURCE_TYPE_NAME() *string

func CfnFeatureGroup_IsCfnElement

func CfnFeatureGroup_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnFeatureGroup_IsCfnResource

func CfnFeatureGroup_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnFeatureGroup_IsConstruct

func CfnFeatureGroup_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

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.

Returns: true if `x` is an object created from a class which extends `Construct`.

func CfnImageVersion_CFN_RESOURCE_TYPE_NAME

func CfnImageVersion_CFN_RESOURCE_TYPE_NAME() *string

func CfnImageVersion_IsCfnElement

func CfnImageVersion_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnImageVersion_IsCfnResource

func CfnImageVersion_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnImageVersion_IsConstruct

func CfnImageVersion_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

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.

Returns: true if `x` is an object created from a class which extends `Construct`.

func CfnImage_CFN_RESOURCE_TYPE_NAME

func CfnImage_CFN_RESOURCE_TYPE_NAME() *string

func CfnImage_IsCfnElement

func CfnImage_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnImage_IsCfnResource

func CfnImage_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnImage_IsConstruct

func CfnImage_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

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.

Returns: true if `x` is an object created from a class which extends `Construct`.

func CfnInferenceExperiment_CFN_RESOURCE_TYPE_NAME added in v2.70.0

func CfnInferenceExperiment_CFN_RESOURCE_TYPE_NAME() *string

func CfnInferenceExperiment_IsCfnElement added in v2.70.0

func CfnInferenceExperiment_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnInferenceExperiment_IsCfnResource added in v2.70.0

func CfnInferenceExperiment_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnInferenceExperiment_IsConstruct added in v2.70.0

func CfnInferenceExperiment_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

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.

Returns: true if `x` is an object created from a class which extends `Construct`.

func CfnModelBiasJobDefinition_CFN_RESOURCE_TYPE_NAME

func CfnModelBiasJobDefinition_CFN_RESOURCE_TYPE_NAME() *string

func CfnModelBiasJobDefinition_IsCfnElement

func CfnModelBiasJobDefinition_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnModelBiasJobDefinition_IsCfnResource

func CfnModelBiasJobDefinition_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnModelBiasJobDefinition_IsConstruct

func CfnModelBiasJobDefinition_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

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.

Returns: true if `x` is an object created from a class which extends `Construct`.

func CfnModelCard_CFN_RESOURCE_TYPE_NAME added in v2.64.0

func CfnModelCard_CFN_RESOURCE_TYPE_NAME() *string

func CfnModelCard_IsCfnElement added in v2.64.0

func CfnModelCard_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnModelCard_IsCfnResource added in v2.64.0

func CfnModelCard_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnModelCard_IsConstruct added in v2.64.0

func CfnModelCard_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

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.

Returns: true if `x` is an object created from a class which extends `Construct`.

func CfnModelExplainabilityJobDefinition_CFN_RESOURCE_TYPE_NAME

func CfnModelExplainabilityJobDefinition_CFN_RESOURCE_TYPE_NAME() *string

func CfnModelExplainabilityJobDefinition_IsCfnElement

func CfnModelExplainabilityJobDefinition_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnModelExplainabilityJobDefinition_IsCfnResource

func CfnModelExplainabilityJobDefinition_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnModelExplainabilityJobDefinition_IsConstruct

func CfnModelExplainabilityJobDefinition_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

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.

Returns: true if `x` is an object created from a class which extends `Construct`.

func CfnModelPackageGroup_CFN_RESOURCE_TYPE_NAME

func CfnModelPackageGroup_CFN_RESOURCE_TYPE_NAME() *string

func CfnModelPackageGroup_IsCfnElement

func CfnModelPackageGroup_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnModelPackageGroup_IsCfnResource

func CfnModelPackageGroup_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnModelPackageGroup_IsConstruct

func CfnModelPackageGroup_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

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.

Returns: true if `x` is an object created from a class which extends `Construct`.

func CfnModelPackage_CFN_RESOURCE_TYPE_NAME added in v2.45.0

func CfnModelPackage_CFN_RESOURCE_TYPE_NAME() *string

func CfnModelPackage_IsCfnElement added in v2.45.0

func CfnModelPackage_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnModelPackage_IsCfnResource added in v2.45.0

func CfnModelPackage_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnModelPackage_IsConstruct added in v2.45.0

func CfnModelPackage_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

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.

Returns: true if `x` is an object created from a class which extends `Construct`.

func CfnModelQualityJobDefinition_CFN_RESOURCE_TYPE_NAME

func CfnModelQualityJobDefinition_CFN_RESOURCE_TYPE_NAME() *string

func CfnModelQualityJobDefinition_IsCfnElement

func CfnModelQualityJobDefinition_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnModelQualityJobDefinition_IsCfnResource

func CfnModelQualityJobDefinition_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnModelQualityJobDefinition_IsConstruct

func CfnModelQualityJobDefinition_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

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.

Returns: true if `x` is an object created from a class which extends `Construct`.

func CfnModel_CFN_RESOURCE_TYPE_NAME

func CfnModel_CFN_RESOURCE_TYPE_NAME() *string

func CfnModel_IsCfnElement

func CfnModel_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnModel_IsCfnResource

func CfnModel_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnModel_IsConstruct

func CfnModel_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

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.

Returns: true if `x` is an object created from a class which extends `Construct`.

func CfnMonitoringSchedule_CFN_RESOURCE_TYPE_NAME

func CfnMonitoringSchedule_CFN_RESOURCE_TYPE_NAME() *string

func CfnMonitoringSchedule_IsCfnElement

func CfnMonitoringSchedule_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnMonitoringSchedule_IsCfnResource

func CfnMonitoringSchedule_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnMonitoringSchedule_IsConstruct

func CfnMonitoringSchedule_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

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.

Returns: true if `x` is an object created from a class which extends `Construct`.

func CfnNotebookInstanceLifecycleConfig_CFN_RESOURCE_TYPE_NAME

func CfnNotebookInstanceLifecycleConfig_CFN_RESOURCE_TYPE_NAME() *string

func CfnNotebookInstanceLifecycleConfig_IsCfnElement

func CfnNotebookInstanceLifecycleConfig_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnNotebookInstanceLifecycleConfig_IsCfnResource

func CfnNotebookInstanceLifecycleConfig_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnNotebookInstanceLifecycleConfig_IsConstruct

func CfnNotebookInstanceLifecycleConfig_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

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.

Returns: true if `x` is an object created from a class which extends `Construct`.

func CfnNotebookInstance_CFN_RESOURCE_TYPE_NAME

func CfnNotebookInstance_CFN_RESOURCE_TYPE_NAME() *string

func CfnNotebookInstance_IsCfnElement

func CfnNotebookInstance_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnNotebookInstance_IsCfnResource

func CfnNotebookInstance_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnNotebookInstance_IsConstruct

func CfnNotebookInstance_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

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.

Returns: true if `x` is an object created from a class which extends `Construct`.

func CfnPipeline_CFN_RESOURCE_TYPE_NAME

func CfnPipeline_CFN_RESOURCE_TYPE_NAME() *string

func CfnPipeline_IsCfnElement

func CfnPipeline_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnPipeline_IsCfnResource

func CfnPipeline_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnPipeline_IsConstruct

func CfnPipeline_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

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.

Returns: true if `x` is an object created from a class which extends `Construct`.

func CfnProject_CFN_RESOURCE_TYPE_NAME

func CfnProject_CFN_RESOURCE_TYPE_NAME() *string

func CfnProject_IsCfnElement

func CfnProject_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnProject_IsCfnResource

func CfnProject_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnProject_IsConstruct

func CfnProject_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

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.

Returns: true if `x` is an object created from a class which extends `Construct`.

func CfnSpace_CFN_RESOURCE_TYPE_NAME added in v2.70.0

func CfnSpace_CFN_RESOURCE_TYPE_NAME() *string

func CfnSpace_IsCfnElement added in v2.70.0

func CfnSpace_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnSpace_IsCfnResource added in v2.70.0

func CfnSpace_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnSpace_IsConstruct added in v2.70.0

func CfnSpace_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

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.

Returns: true if `x` is an object created from a class which extends `Construct`.

func CfnUserProfile_CFN_RESOURCE_TYPE_NAME

func CfnUserProfile_CFN_RESOURCE_TYPE_NAME() *string

func CfnUserProfile_IsCfnElement

func CfnUserProfile_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnUserProfile_IsCfnResource

func CfnUserProfile_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnUserProfile_IsConstruct

func CfnUserProfile_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

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.

Returns: true if `x` is an object created from a class which extends `Construct`.

func CfnWorkteam_CFN_RESOURCE_TYPE_NAME

func CfnWorkteam_CFN_RESOURCE_TYPE_NAME() *string

func CfnWorkteam_IsCfnElement

func CfnWorkteam_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnWorkteam_IsCfnResource

func CfnWorkteam_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnWorkteam_IsConstruct

func CfnWorkteam_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

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.

Returns: true if `x` is an object created from a class which extends `Construct`.

func NewCfnAppImageConfig_Override

func NewCfnAppImageConfig_Override(c CfnAppImageConfig, scope constructs.Construct, id *string, props *CfnAppImageConfigProps)

Create a new `AWS::SageMaker::AppImageConfig`.

func NewCfnApp_Override

func NewCfnApp_Override(c CfnApp, scope constructs.Construct, id *string, props *CfnAppProps)

Create a new `AWS::SageMaker::App`.

func NewCfnCodeRepository_Override

func NewCfnCodeRepository_Override(c CfnCodeRepository, scope constructs.Construct, id *string, props *CfnCodeRepositoryProps)

Create a new `AWS::SageMaker::CodeRepository`.

func NewCfnDataQualityJobDefinition_Override

func NewCfnDataQualityJobDefinition_Override(c CfnDataQualityJobDefinition, scope constructs.Construct, id *string, props *CfnDataQualityJobDefinitionProps)

Create a new `AWS::SageMaker::DataQualityJobDefinition`.

func NewCfnDeviceFleet_Override

func NewCfnDeviceFleet_Override(c CfnDeviceFleet, scope constructs.Construct, id *string, props *CfnDeviceFleetProps)

Create a new `AWS::SageMaker::DeviceFleet`.

func NewCfnDevice_Override

func NewCfnDevice_Override(c CfnDevice, scope constructs.Construct, id *string, props *CfnDeviceProps)

Create a new `AWS::SageMaker::Device`.

func NewCfnDomain_Override

func NewCfnDomain_Override(c CfnDomain, scope constructs.Construct, id *string, props *CfnDomainProps)

Create a new `AWS::SageMaker::Domain`.

func NewCfnEndpointConfig_Override

func NewCfnEndpointConfig_Override(c CfnEndpointConfig, scope constructs.Construct, id *string, props *CfnEndpointConfigProps)

Create a new `AWS::SageMaker::EndpointConfig`.

func NewCfnEndpoint_Override

func NewCfnEndpoint_Override(c CfnEndpoint, scope constructs.Construct, id *string, props *CfnEndpointProps)

Create a new `AWS::SageMaker::Endpoint`.

func NewCfnFeatureGroup_Override

func NewCfnFeatureGroup_Override(c CfnFeatureGroup, scope constructs.Construct, id *string, props *CfnFeatureGroupProps)

Create a new `AWS::SageMaker::FeatureGroup`.

func NewCfnImageVersion_Override

func NewCfnImageVersion_Override(c CfnImageVersion, scope constructs.Construct, id *string, props *CfnImageVersionProps)

Create a new `AWS::SageMaker::ImageVersion`.

func NewCfnImage_Override

func NewCfnImage_Override(c CfnImage, scope constructs.Construct, id *string, props *CfnImageProps)

Create a new `AWS::SageMaker::Image`.

func NewCfnInferenceExperiment_Override added in v2.70.0

func NewCfnInferenceExperiment_Override(c CfnInferenceExperiment, scope constructs.Construct, id *string, props *CfnInferenceExperimentProps)

Create a new `AWS::SageMaker::InferenceExperiment`.

func NewCfnModelBiasJobDefinition_Override

func NewCfnModelBiasJobDefinition_Override(c CfnModelBiasJobDefinition, scope constructs.Construct, id *string, props *CfnModelBiasJobDefinitionProps)

Create a new `AWS::SageMaker::ModelBiasJobDefinition`.

func NewCfnModelCard_Override added in v2.64.0

func NewCfnModelCard_Override(c CfnModelCard, scope constructs.Construct, id *string, props *CfnModelCardProps)

Create a new `AWS::SageMaker::ModelCard`.

func NewCfnModelExplainabilityJobDefinition_Override

func NewCfnModelExplainabilityJobDefinition_Override(c CfnModelExplainabilityJobDefinition, scope constructs.Construct, id *string, props *CfnModelExplainabilityJobDefinitionProps)

Create a new `AWS::SageMaker::ModelExplainabilityJobDefinition`.

func NewCfnModelPackageGroup_Override

func NewCfnModelPackageGroup_Override(c CfnModelPackageGroup, scope constructs.Construct, id *string, props *CfnModelPackageGroupProps)

Create a new `AWS::SageMaker::ModelPackageGroup`.

func NewCfnModelPackage_Override added in v2.45.0

func NewCfnModelPackage_Override(c CfnModelPackage, scope constructs.Construct, id *string, props *CfnModelPackageProps)

Create a new `AWS::SageMaker::ModelPackage`.

func NewCfnModelQualityJobDefinition_Override

func NewCfnModelQualityJobDefinition_Override(c CfnModelQualityJobDefinition, scope constructs.Construct, id *string, props *CfnModelQualityJobDefinitionProps)

Create a new `AWS::SageMaker::ModelQualityJobDefinition`.

func NewCfnModel_Override

func NewCfnModel_Override(c CfnModel, scope constructs.Construct, id *string, props *CfnModelProps)

Create a new `AWS::SageMaker::Model`.

func NewCfnMonitoringSchedule_Override

func NewCfnMonitoringSchedule_Override(c CfnMonitoringSchedule, scope constructs.Construct, id *string, props *CfnMonitoringScheduleProps)

Create a new `AWS::SageMaker::MonitoringSchedule`.

func NewCfnNotebookInstanceLifecycleConfig_Override

func NewCfnNotebookInstanceLifecycleConfig_Override(c CfnNotebookInstanceLifecycleConfig, scope constructs.Construct, id *string, props *CfnNotebookInstanceLifecycleConfigProps)

Create a new `AWS::SageMaker::NotebookInstanceLifecycleConfig`.

func NewCfnNotebookInstance_Override

func NewCfnNotebookInstance_Override(c CfnNotebookInstance, scope constructs.Construct, id *string, props *CfnNotebookInstanceProps)

Create a new `AWS::SageMaker::NotebookInstance`.

func NewCfnPipeline_Override

func NewCfnPipeline_Override(c CfnPipeline, scope constructs.Construct, id *string, props *CfnPipelineProps)

Create a new `AWS::SageMaker::Pipeline`.

func NewCfnProject_Override

func NewCfnProject_Override(c CfnProject, scope constructs.Construct, id *string, props *CfnProjectProps)

Create a new `AWS::SageMaker::Project`.

func NewCfnSpace_Override added in v2.70.0

func NewCfnSpace_Override(c CfnSpace, scope constructs.Construct, id *string, props *CfnSpaceProps)

Create a new `AWS::SageMaker::Space`.

func NewCfnUserProfile_Override

func NewCfnUserProfile_Override(c CfnUserProfile, scope constructs.Construct, id *string, props *CfnUserProfileProps)

Create a new `AWS::SageMaker::UserProfile`.

func NewCfnWorkteam_Override

func NewCfnWorkteam_Override(c CfnWorkteam, scope constructs.Construct, id *string, props *CfnWorkteamProps)

Create a new `AWS::SageMaker::Workteam`.

Types

type CfnApp

type CfnApp interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// The name of the app.
	AppName() *string
	SetAppName(val *string)
	// The type of app.
	//
	// *Allowed Values* : `JupyterServer | KernelGateway | RSessionGateway | RStudioServerPro | TensorBoard | Canvas`.
	AppType() *string
	SetAppType(val *string)
	// The Amazon Resource Name (ARN) of the app, such as `arn:aws:sagemaker:us-west-2:account-id:app/my-app-name` .
	AttrAppArn() *string
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// The domain ID.
	DomainId() *string
	SetDomainId(val *string)
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The tree node.
	Node() constructs.Node
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// Specifies the ARNs of a SageMaker image and SageMaker image version, and the instance type that the version runs on.
	ResourceSpec() interface{}
	SetResourceSpec(val interface{})
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// An array of key-value pairs to apply to this resource.
	//
	// For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .
	Tags() awscdk.TagManager
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// The user profile name.
	UserProfileName() *string
	SetUserProfileName(val *string)
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// 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`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::SageMaker::App`.

Creates a running app for the specified UserProfile. This operation is automatically invoked by Amazon SageMaker Studio upon access to the associated Domain, and when new kernel configurations are selected by the user. A user may have multiple Apps active simultaneously.

Example:

// 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"

cfnApp := awscdk.Aws_sagemaker.NewCfnApp(this, jsii.String("MyCfnApp"), &CfnAppProps{
	AppName: jsii.String("appName"),
	AppType: jsii.String("appType"),
	DomainId: jsii.String("domainId"),
	UserProfileName: jsii.String("userProfileName"),

	// the properties below are optional
	ResourceSpec: &ResourceSpecProperty{
		InstanceType: jsii.String("instanceType"),
		SageMakerImageArn: jsii.String("sageMakerImageArn"),
		SageMakerImageVersionArn: jsii.String("sageMakerImageVersionArn"),
	},
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
})

func NewCfnApp

func NewCfnApp(scope constructs.Construct, id *string, props *CfnAppProps) CfnApp

Create a new `AWS::SageMaker::App`.

type CfnAppImageConfig

type CfnAppImageConfig interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// The name of the AppImageConfig.
	//
	// Must be unique to your account.
	AppImageConfigName() *string
	SetAppImageConfigName(val *string)
	// The Amazon Resource Name (ARN) of the AppImageConfig, such as `arn:aws:sagemaker:us-west-2:account-id:app-image-config/my-app-image-config-name` .
	AttrAppImageConfigArn() *string
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// The configuration for the file system and kernels in the SageMaker image.
	KernelGatewayImageConfig() interface{}
	SetKernelGatewayImageConfig(val interface{})
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The tree node.
	Node() constructs.Node
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// An array of key-value pairs to apply to this resource.
	//
	// For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .
	Tags() awscdk.TagManager
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// 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`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::SageMaker::AppImageConfig`.

Creates a configuration for running a SageMaker image as a KernelGateway app. The configuration specifies the Amazon Elastic File System (EFS) storage volume on the image, and a list of the kernels in the image.

Example:

// 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"

cfnAppImageConfig := awscdk.Aws_sagemaker.NewCfnAppImageConfig(this, jsii.String("MyCfnAppImageConfig"), &CfnAppImageConfigProps{
	AppImageConfigName: jsii.String("appImageConfigName"),

	// the properties below are optional
	KernelGatewayImageConfig: &KernelGatewayImageConfigProperty{
		KernelSpecs: []interface{}{
			&KernelSpecProperty{
				Name: jsii.String("name"),

				// the properties below are optional
				DisplayName: jsii.String("displayName"),
			},
		},

		// the properties below are optional
		FileSystemConfig: &FileSystemConfigProperty{
			DefaultGid: jsii.Number(123),
			DefaultUid: jsii.Number(123),
			MountPath: jsii.String("mountPath"),
		},
	},
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
})

func NewCfnAppImageConfig

func NewCfnAppImageConfig(scope constructs.Construct, id *string, props *CfnAppImageConfigProps) CfnAppImageConfig

Create a new `AWS::SageMaker::AppImageConfig`.

type CfnAppImageConfigProps

type CfnAppImageConfigProps struct {
	// The name of the AppImageConfig.
	//
	// Must be unique to your account.
	AppImageConfigName *string `field:"required" json:"appImageConfigName" yaml:"appImageConfigName"`
	// The configuration for the file system and kernels in the SageMaker image.
	KernelGatewayImageConfig interface{} `field:"optional" json:"kernelGatewayImageConfig" yaml:"kernelGatewayImageConfig"`
	// An array of key-value pairs to apply to this resource.
	//
	// For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
}

Properties for defining a `CfnAppImageConfig`.

Example:

// 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"

cfnAppImageConfigProps := &CfnAppImageConfigProps{
	AppImageConfigName: jsii.String("appImageConfigName"),

	// the properties below are optional
	KernelGatewayImageConfig: &KernelGatewayImageConfigProperty{
		KernelSpecs: []interface{}{
			&KernelSpecProperty{
				Name: jsii.String("name"),

				// the properties below are optional
				DisplayName: jsii.String("displayName"),
			},
		},

		// the properties below are optional
		FileSystemConfig: &FileSystemConfigProperty{
			DefaultGid: jsii.Number(123),
			DefaultUid: jsii.Number(123),
			MountPath: jsii.String("mountPath"),
		},
	},
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
}

type CfnAppImageConfig_FileSystemConfigProperty

type CfnAppImageConfig_FileSystemConfigProperty struct {
	// The default POSIX group ID (GID).
	//
	// If not specified, defaults to `100` .
	DefaultGid *float64 `field:"optional" json:"defaultGid" yaml:"defaultGid"`
	// The default POSIX user ID (UID).
	//
	// If not specified, defaults to `1000` .
	DefaultUid *float64 `field:"optional" json:"defaultUid" yaml:"defaultUid"`
	// The path within the image to mount the user's EFS home directory.
	//
	// The directory should be empty. If not specified, defaults to * /home/sagemaker-user* .
	MountPath *string `field:"optional" json:"mountPath" yaml:"mountPath"`
}

The Amazon Elastic File System (EFS) storage configuration for a SageMaker image.

Example:

// 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"

fileSystemConfigProperty := &FileSystemConfigProperty{
	DefaultGid: jsii.Number(123),
	DefaultUid: jsii.Number(123),
	MountPath: jsii.String("mountPath"),
}

type CfnAppImageConfig_KernelGatewayImageConfigProperty

type CfnAppImageConfig_KernelGatewayImageConfigProperty struct {
	// The specification of the Jupyter kernels in the image.
	KernelSpecs interface{} `field:"required" json:"kernelSpecs" yaml:"kernelSpecs"`
	// The Amazon Elastic File System (EFS) storage configuration for a SageMaker image.
	FileSystemConfig interface{} `field:"optional" json:"fileSystemConfig" yaml:"fileSystemConfig"`
}

The configuration for the file system and kernels in a SageMaker image running as a KernelGateway app.

Example:

// 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"

kernelGatewayImageConfigProperty := &KernelGatewayImageConfigProperty{
	KernelSpecs: []interface{}{
		&KernelSpecProperty{
			Name: jsii.String("name"),

			// the properties below are optional
			DisplayName: jsii.String("displayName"),
		},
	},

	// the properties below are optional
	FileSystemConfig: &FileSystemConfigProperty{
		DefaultGid: jsii.Number(123),
		DefaultUid: jsii.Number(123),
		MountPath: jsii.String("mountPath"),
	},
}

type CfnAppImageConfig_KernelSpecProperty

type CfnAppImageConfig_KernelSpecProperty struct {
	// The name of the Jupyter kernel in the image.
	//
	// This value is case sensitive.
	Name *string `field:"required" json:"name" yaml:"name"`
	// The display name of the kernel.
	DisplayName *string `field:"optional" json:"displayName" yaml:"displayName"`
}

The specification of a Jupyter kernel.

Example:

// 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"

kernelSpecProperty := &KernelSpecProperty{
	Name: jsii.String("name"),

	// the properties below are optional
	DisplayName: jsii.String("displayName"),
}

type CfnAppProps

type CfnAppProps struct {
	// The name of the app.
	AppName *string `field:"required" json:"appName" yaml:"appName"`
	// The type of app.
	//
	// *Allowed Values* : `JupyterServer | KernelGateway | RSessionGateway | RStudioServerPro | TensorBoard | Canvas`.
	AppType *string `field:"required" json:"appType" yaml:"appType"`
	// The domain ID.
	DomainId *string `field:"required" json:"domainId" yaml:"domainId"`
	// The user profile name.
	UserProfileName *string `field:"required" json:"userProfileName" yaml:"userProfileName"`
	// Specifies the ARNs of a SageMaker image and SageMaker image version, and the instance type that the version runs on.
	ResourceSpec interface{} `field:"optional" json:"resourceSpec" yaml:"resourceSpec"`
	// An array of key-value pairs to apply to this resource.
	//
	// For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
}

Properties for defining a `CfnApp`.

Example:

// 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"

cfnAppProps := &CfnAppProps{
	AppName: jsii.String("appName"),
	AppType: jsii.String("appType"),
	DomainId: jsii.String("domainId"),
	UserProfileName: jsii.String("userProfileName"),

	// the properties below are optional
	ResourceSpec: &ResourceSpecProperty{
		InstanceType: jsii.String("instanceType"),
		SageMakerImageArn: jsii.String("sageMakerImageArn"),
		SageMakerImageVersionArn: jsii.String("sageMakerImageVersionArn"),
	},
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
}

type CfnApp_ResourceSpecProperty

type CfnApp_ResourceSpecProperty struct {
	// The instance type that the image version runs on.
	//
	// > *JupyterServer apps* only support the `system` value.
	// >
	// > For *KernelGateway apps* , the `system` value is translated to `ml.t3.medium` . KernelGateway apps also support all other values for available instance types.
	InstanceType *string `field:"optional" json:"instanceType" yaml:"instanceType"`
	// The ARN of the SageMaker image that the image version belongs to.
	SageMakerImageArn *string `field:"optional" json:"sageMakerImageArn" yaml:"sageMakerImageArn"`
	// The ARN of the image version created on the instance.
	SageMakerImageVersionArn *string `field:"optional" json:"sageMakerImageVersionArn" yaml:"sageMakerImageVersionArn"`
}

Specifies the ARN's of a SageMaker image and SageMaker image version, and the instance type that the version runs on.

Example:

// 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"

resourceSpecProperty := &ResourceSpecProperty{
	InstanceType: jsii.String("instanceType"),
	SageMakerImageArn: jsii.String("sageMakerImageArn"),
	SageMakerImageVersionArn: jsii.String("sageMakerImageVersionArn"),
}

type CfnCodeRepository

type CfnCodeRepository interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// The name of the code repository, such as `myCodeRepo` .
	AttrCodeRepositoryName() *string
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// The name of the Git repository.
	CodeRepositoryName() *string
	SetCodeRepositoryName(val *string)
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// Configuration details for the Git repository, including the URL where it is located and the ARN of the AWS Secrets Manager secret that contains the credentials used to access the repository.
	GitConfig() interface{}
	SetGitConfig(val interface{})
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The tree node.
	Node() constructs.Node
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// List of tags for Code Repository.
	Tags() awscdk.TagManager
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// 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`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::SageMaker::CodeRepository`.

Creates a Git repository as a resource in your SageMaker account. You can associate the repository with notebook instances so that you can use Git source control for the notebooks you create. The Git repository is a resource in your SageMaker account, so it can be associated with more than one notebook instance, and it persists independently from the lifecycle of any notebook instances it is associated with.

The repository can be hosted either in [AWS CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html) or in any other Git repository.

Example:

// 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"

cfnCodeRepository := awscdk.Aws_sagemaker.NewCfnCodeRepository(this, jsii.String("MyCfnCodeRepository"), &CfnCodeRepositoryProps{
	GitConfig: &GitConfigProperty{
		RepositoryUrl: jsii.String("repositoryUrl"),

		// the properties below are optional
		Branch: jsii.String("branch"),
		SecretArn: jsii.String("secretArn"),
	},

	// the properties below are optional
	CodeRepositoryName: jsii.String("codeRepositoryName"),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
})

func NewCfnCodeRepository

func NewCfnCodeRepository(scope constructs.Construct, id *string, props *CfnCodeRepositoryProps) CfnCodeRepository

Create a new `AWS::SageMaker::CodeRepository`.

type CfnCodeRepositoryProps

type CfnCodeRepositoryProps struct {
	// Configuration details for the Git repository, including the URL where it is located and the ARN of the AWS Secrets Manager secret that contains the credentials used to access the repository.
	GitConfig interface{} `field:"required" json:"gitConfig" yaml:"gitConfig"`
	// The name of the Git repository.
	CodeRepositoryName *string `field:"optional" json:"codeRepositoryName" yaml:"codeRepositoryName"`
	// List of tags for Code Repository.
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
}

Properties for defining a `CfnCodeRepository`.

Example:

// 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"

cfnCodeRepositoryProps := &CfnCodeRepositoryProps{
	GitConfig: &GitConfigProperty{
		RepositoryUrl: jsii.String("repositoryUrl"),

		// the properties below are optional
		Branch: jsii.String("branch"),
		SecretArn: jsii.String("secretArn"),
	},

	// the properties below are optional
	CodeRepositoryName: jsii.String("codeRepositoryName"),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
}

type CfnCodeRepository_GitConfigProperty

type CfnCodeRepository_GitConfigProperty struct {
	// The URL where the Git repository is located.
	RepositoryUrl *string `field:"required" json:"repositoryUrl" yaml:"repositoryUrl"`
	// The default branch for the Git repository.
	Branch *string `field:"optional" json:"branch" yaml:"branch"`
	// The Amazon Resource Name (ARN) of the AWS Secrets Manager secret that contains the credentials used to access the git repository.
	//
	// The secret must have a staging label of `AWSCURRENT` and must be in the following format:
	//
	// `{"username": *UserName* , "password": *Password* }`.
	SecretArn *string `field:"optional" json:"secretArn" yaml:"secretArn"`
}

Specifies configuration details for a Git repository in your AWS account.

Example:

// 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"

gitConfigProperty := &GitConfigProperty{
	RepositoryUrl: jsii.String("repositoryUrl"),

	// the properties below are optional
	Branch: jsii.String("branch"),
	SecretArn: jsii.String("secretArn"),
}

type CfnDataQualityJobDefinition

type CfnDataQualityJobDefinition interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// The time when the job definition was created.
	AttrCreationTime() *string
	// The Amazon Resource Name (ARN) of the job definition.
	AttrJobDefinitionArn() *string
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// Specifies the container that runs the monitoring job.
	DataQualityAppSpecification() interface{}
	SetDataQualityAppSpecification(val interface{})
	// Configures the constraints and baselines for the monitoring job.
	DataQualityBaselineConfig() interface{}
	SetDataQualityBaselineConfig(val interface{})
	// A list of inputs for the monitoring job.
	//
	// Currently endpoints are supported as monitoring inputs.
	DataQualityJobInput() interface{}
	SetDataQualityJobInput(val interface{})
	// The output configuration for monitoring jobs.
	DataQualityJobOutputConfig() interface{}
	SetDataQualityJobOutputConfig(val interface{})
	// `AWS::SageMaker::DataQualityJobDefinition.EndpointName`.
	EndpointName() *string
	SetEndpointName(val *string)
	// The name for the monitoring job definition.
	JobDefinitionName() *string
	SetJobDefinitionName(val *string)
	// Identifies the resources to deploy for a monitoring job.
	JobResources() interface{}
	SetJobResources(val interface{})
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// Specifies networking configuration for the monitoring job.
	NetworkConfig() interface{}
	SetNetworkConfig(val interface{})
	// The tree node.
	Node() constructs.Node
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform tasks on your behalf.
	RoleArn() *string
	SetRoleArn(val *string)
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// A time limit for how long the monitoring job is allowed to run before stopping.
	StoppingCondition() interface{}
	SetStoppingCondition(val interface{})
	// An array of key-value pairs to apply to this resource.
	//
	// For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .
	Tags() awscdk.TagManager
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// 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`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::SageMaker::DataQualityJobDefinition`.

Creates a definition for a job that monitors data quality and drift. For information about model monitor, see [Amazon SageMaker Model Monitor](https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor.html) .

Example:

// 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"

cfnDataQualityJobDefinition := awscdk.Aws_sagemaker.NewCfnDataQualityJobDefinition(this, jsii.String("MyCfnDataQualityJobDefinition"), &CfnDataQualityJobDefinitionProps{
	DataQualityAppSpecification: &DataQualityAppSpecificationProperty{
		ImageUri: jsii.String("imageUri"),

		// the properties below are optional
		ContainerArguments: []*string{
			jsii.String("containerArguments"),
		},
		ContainerEntrypoint: []*string{
			jsii.String("containerEntrypoint"),
		},
		Environment: map[string]*string{
			"environmentKey": jsii.String("environment"),
		},
		PostAnalyticsProcessorSourceUri: jsii.String("postAnalyticsProcessorSourceUri"),
		RecordPreprocessorSourceUri: jsii.String("recordPreprocessorSourceUri"),
	},
	DataQualityJobInput: &DataQualityJobInputProperty{
		BatchTransformInput: &BatchTransformInputProperty{
			DataCapturedDestinationS3Uri: jsii.String("dataCapturedDestinationS3Uri"),
			DatasetFormat: &DatasetFormatProperty{
				Csv: &CsvProperty{
					Header: jsii.Boolean(false),
				},
				Json: &JsonProperty{
					Line: jsii.Boolean(false),
				},
				Parquet: jsii.Boolean(false),
			},
			LocalPath: jsii.String("localPath"),

			// the properties below are optional
			S3DataDistributionType: jsii.String("s3DataDistributionType"),
			S3InputMode: jsii.String("s3InputMode"),
		},
		EndpointInput: &EndpointInputProperty{
			EndpointName: jsii.String("endpointName"),
			LocalPath: jsii.String("localPath"),

			// the properties below are optional
			S3DataDistributionType: jsii.String("s3DataDistributionType"),
			S3InputMode: jsii.String("s3InputMode"),
		},
	},
	DataQualityJobOutputConfig: &MonitoringOutputConfigProperty{
		MonitoringOutputs: []interface{}{
			&MonitoringOutputProperty{
				S3Output: &S3OutputProperty{
					LocalPath: jsii.String("localPath"),
					S3Uri: jsii.String("s3Uri"),

					// the properties below are optional
					S3UploadMode: jsii.String("s3UploadMode"),
				},
			},
		},

		// the properties below are optional
		KmsKeyId: jsii.String("kmsKeyId"),
	},
	JobResources: &MonitoringResourcesProperty{
		ClusterConfig: &ClusterConfigProperty{
			InstanceCount: jsii.Number(123),
			InstanceType: jsii.String("instanceType"),
			VolumeSizeInGb: jsii.Number(123),

			// the properties below are optional
			VolumeKmsKeyId: jsii.String("volumeKmsKeyId"),
		},
	},
	RoleArn: jsii.String("roleArn"),

	// the properties below are optional
	DataQualityBaselineConfig: &DataQualityBaselineConfigProperty{
		BaseliningJobName: jsii.String("baseliningJobName"),
		ConstraintsResource: &ConstraintsResourceProperty{
			S3Uri: jsii.String("s3Uri"),
		},
		StatisticsResource: &StatisticsResourceProperty{
			S3Uri: jsii.String("s3Uri"),
		},
	},
	EndpointName: jsii.String("endpointName"),
	JobDefinitionName: jsii.String("jobDefinitionName"),
	NetworkConfig: &NetworkConfigProperty{
		EnableInterContainerTrafficEncryption: jsii.Boolean(false),
		EnableNetworkIsolation: jsii.Boolean(false),
		VpcConfig: &VpcConfigProperty{
			SecurityGroupIds: []*string{
				jsii.String("securityGroupIds"),
			},
			Subnets: []*string{
				jsii.String("subnets"),
			},
		},
	},
	StoppingCondition: &StoppingConditionProperty{
		MaxRuntimeInSeconds: jsii.Number(123),
	},
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
})

func NewCfnDataQualityJobDefinition

func NewCfnDataQualityJobDefinition(scope constructs.Construct, id *string, props *CfnDataQualityJobDefinitionProps) CfnDataQualityJobDefinition

Create a new `AWS::SageMaker::DataQualityJobDefinition`.

type CfnDataQualityJobDefinitionProps

type CfnDataQualityJobDefinitionProps struct {
	// Specifies the container that runs the monitoring job.
	DataQualityAppSpecification interface{} `field:"required" json:"dataQualityAppSpecification" yaml:"dataQualityAppSpecification"`
	// A list of inputs for the monitoring job.
	//
	// Currently endpoints are supported as monitoring inputs.
	DataQualityJobInput interface{} `field:"required" json:"dataQualityJobInput" yaml:"dataQualityJobInput"`
	// The output configuration for monitoring jobs.
	DataQualityJobOutputConfig interface{} `field:"required" json:"dataQualityJobOutputConfig" yaml:"dataQualityJobOutputConfig"`
	// Identifies the resources to deploy for a monitoring job.
	JobResources interface{} `field:"required" json:"jobResources" yaml:"jobResources"`
	// The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform tasks on your behalf.
	RoleArn *string `field:"required" json:"roleArn" yaml:"roleArn"`
	// Configures the constraints and baselines for the monitoring job.
	DataQualityBaselineConfig interface{} `field:"optional" json:"dataQualityBaselineConfig" yaml:"dataQualityBaselineConfig"`
	// `AWS::SageMaker::DataQualityJobDefinition.EndpointName`.
	EndpointName *string `field:"optional" json:"endpointName" yaml:"endpointName"`
	// The name for the monitoring job definition.
	JobDefinitionName *string `field:"optional" json:"jobDefinitionName" yaml:"jobDefinitionName"`
	// Specifies networking configuration for the monitoring job.
	NetworkConfig interface{} `field:"optional" json:"networkConfig" yaml:"networkConfig"`
	// A time limit for how long the monitoring job is allowed to run before stopping.
	StoppingCondition interface{} `field:"optional" json:"stoppingCondition" yaml:"stoppingCondition"`
	// An array of key-value pairs to apply to this resource.
	//
	// For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
}

Properties for defining a `CfnDataQualityJobDefinition`.

Example:

// 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"

cfnDataQualityJobDefinitionProps := &CfnDataQualityJobDefinitionProps{
	DataQualityAppSpecification: &DataQualityAppSpecificationProperty{
		ImageUri: jsii.String("imageUri"),

		// the properties below are optional
		ContainerArguments: []*string{
			jsii.String("containerArguments"),
		},
		ContainerEntrypoint: []*string{
			jsii.String("containerEntrypoint"),
		},
		Environment: map[string]*string{
			"environmentKey": jsii.String("environment"),
		},
		PostAnalyticsProcessorSourceUri: jsii.String("postAnalyticsProcessorSourceUri"),
		RecordPreprocessorSourceUri: jsii.String("recordPreprocessorSourceUri"),
	},
	DataQualityJobInput: &DataQualityJobInputProperty{
		BatchTransformInput: &BatchTransformInputProperty{
			DataCapturedDestinationS3Uri: jsii.String("dataCapturedDestinationS3Uri"),
			DatasetFormat: &DatasetFormatProperty{
				Csv: &CsvProperty{
					Header: jsii.Boolean(false),
				},
				Json: &JsonProperty{
					Line: jsii.Boolean(false),
				},
				Parquet: jsii.Boolean(false),
			},
			LocalPath: jsii.String("localPath"),

			// the properties below are optional
			S3DataDistributionType: jsii.String("s3DataDistributionType"),
			S3InputMode: jsii.String("s3InputMode"),
		},
		EndpointInput: &EndpointInputProperty{
			EndpointName: jsii.String("endpointName"),
			LocalPath: jsii.String("localPath"),

			// the properties below are optional
			S3DataDistributionType: jsii.String("s3DataDistributionType"),
			S3InputMode: jsii.String("s3InputMode"),
		},
	},
	DataQualityJobOutputConfig: &MonitoringOutputConfigProperty{
		MonitoringOutputs: []interface{}{
			&MonitoringOutputProperty{
				S3Output: &S3OutputProperty{
					LocalPath: jsii.String("localPath"),
					S3Uri: jsii.String("s3Uri"),

					// the properties below are optional
					S3UploadMode: jsii.String("s3UploadMode"),
				},
			},
		},

		// the properties below are optional
		KmsKeyId: jsii.String("kmsKeyId"),
	},
	JobResources: &MonitoringResourcesProperty{
		ClusterConfig: &ClusterConfigProperty{
			InstanceCount: jsii.Number(123),
			InstanceType: jsii.String("instanceType"),
			VolumeSizeInGb: jsii.Number(123),

			// the properties below are optional
			VolumeKmsKeyId: jsii.String("volumeKmsKeyId"),
		},
	},
	RoleArn: jsii.String("roleArn"),

	// the properties below are optional
	DataQualityBaselineConfig: &DataQualityBaselineConfigProperty{
		BaseliningJobName: jsii.String("baseliningJobName"),
		ConstraintsResource: &ConstraintsResourceProperty{
			S3Uri: jsii.String("s3Uri"),
		},
		StatisticsResource: &StatisticsResourceProperty{
			S3Uri: jsii.String("s3Uri"),
		},
	},
	EndpointName: jsii.String("endpointName"),
	JobDefinitionName: jsii.String("jobDefinitionName"),
	NetworkConfig: &NetworkConfigProperty{
		EnableInterContainerTrafficEncryption: jsii.Boolean(false),
		EnableNetworkIsolation: jsii.Boolean(false),
		VpcConfig: &VpcConfigProperty{
			SecurityGroupIds: []*string{
				jsii.String("securityGroupIds"),
			},
			Subnets: []*string{
				jsii.String("subnets"),
			},
		},
	},
	StoppingCondition: &StoppingConditionProperty{
		MaxRuntimeInSeconds: jsii.Number(123),
	},
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
}

type CfnDataQualityJobDefinition_BatchTransformInputProperty added in v2.48.0

type CfnDataQualityJobDefinition_BatchTransformInputProperty struct {
	// `CfnDataQualityJobDefinition.BatchTransformInputProperty.DataCapturedDestinationS3Uri`.
	DataCapturedDestinationS3Uri *string `field:"required" json:"dataCapturedDestinationS3Uri" yaml:"dataCapturedDestinationS3Uri"`
	// `CfnDataQualityJobDefinition.BatchTransformInputProperty.DatasetFormat`.
	DatasetFormat interface{} `field:"required" json:"datasetFormat" yaml:"datasetFormat"`
	// `CfnDataQualityJobDefinition.BatchTransformInputProperty.LocalPath`.
	LocalPath *string `field:"required" json:"localPath" yaml:"localPath"`
	// `CfnDataQualityJobDefinition.BatchTransformInputProperty.S3DataDistributionType`.
	S3DataDistributionType *string `field:"optional" json:"s3DataDistributionType" yaml:"s3DataDistributionType"`
	// `CfnDataQualityJobDefinition.BatchTransformInputProperty.S3InputMode`.
	S3InputMode *string `field:"optional" json:"s3InputMode" yaml:"s3InputMode"`
}

Example:

// 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"

batchTransformInputProperty := &BatchTransformInputProperty{
	DataCapturedDestinationS3Uri: jsii.String("dataCapturedDestinationS3Uri"),
	DatasetFormat: &DatasetFormatProperty{
		Csv: &CsvProperty{
			Header: jsii.Boolean(false),
		},
		Json: &JsonProperty{
			Line: jsii.Boolean(false),
		},
		Parquet: jsii.Boolean(false),
	},
	LocalPath: jsii.String("localPath"),

	// the properties below are optional
	S3DataDistributionType: jsii.String("s3DataDistributionType"),
	S3InputMode: jsii.String("s3InputMode"),
}

type CfnDataQualityJobDefinition_ClusterConfigProperty

type CfnDataQualityJobDefinition_ClusterConfigProperty struct {
	// The number of ML compute instances to use in the model monitoring job.
	//
	// For distributed processing jobs, specify a value greater than 1. The default value is 1.
	InstanceCount *float64 `field:"required" json:"instanceCount" yaml:"instanceCount"`
	// The ML compute instance type for the processing job.
	InstanceType *string `field:"required" json:"instanceType" yaml:"instanceType"`
	// The size of the ML storage volume, in gigabytes, that you want to provision.
	//
	// You must specify sufficient ML storage for your scenario.
	VolumeSizeInGb *float64 `field:"required" json:"volumeSizeInGb" yaml:"volumeSizeInGb"`
	// The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance(s) that run the model monitoring job.
	VolumeKmsKeyId *string `field:"optional" json:"volumeKmsKeyId" yaml:"volumeKmsKeyId"`
}

The configuration for the cluster of resources used to run the processing job.

Example:

// 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"

clusterConfigProperty := &ClusterConfigProperty{
	InstanceCount: jsii.Number(123),
	InstanceType: jsii.String("instanceType"),
	VolumeSizeInGb: jsii.Number(123),

	// the properties below are optional
	VolumeKmsKeyId: jsii.String("volumeKmsKeyId"),
}

type CfnDataQualityJobDefinition_ConstraintsResourceProperty

type CfnDataQualityJobDefinition_ConstraintsResourceProperty struct {
	// The Amazon S3 URI for the constraints resource.
	S3Uri *string `field:"optional" json:"s3Uri" yaml:"s3Uri"`
}

The constraints resource for a monitoring job.

Example:

// 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"

constraintsResourceProperty := &ConstraintsResourceProperty{
	S3Uri: jsii.String("s3Uri"),
}

type CfnDataQualityJobDefinition_CsvProperty added in v2.48.0

type CfnDataQualityJobDefinition_CsvProperty struct {
	// `CfnDataQualityJobDefinition.CsvProperty.Header`.
	Header interface{} `field:"optional" json:"header" yaml:"header"`
}

Example:

// 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"

csvProperty := &CsvProperty{
	Header: jsii.Boolean(false),
}

type CfnDataQualityJobDefinition_DataQualityAppSpecificationProperty

type CfnDataQualityJobDefinition_DataQualityAppSpecificationProperty struct {
	// The container image that the data quality monitoring job runs.
	ImageUri *string `field:"required" json:"imageUri" yaml:"imageUri"`
	// The arguments to send to the container that the monitoring job runs.
	ContainerArguments *[]*string `field:"optional" json:"containerArguments" yaml:"containerArguments"`
	// The entrypoint for a container used to run a monitoring job.
	ContainerEntrypoint *[]*string `field:"optional" json:"containerEntrypoint" yaml:"containerEntrypoint"`
	// Sets the environment variables in the container that the monitoring job runs.
	Environment interface{} `field:"optional" json:"environment" yaml:"environment"`
	// An Amazon S3 URI to a script that is called after analysis has been performed.
	//
	// Applicable only for the built-in (first party) containers.
	PostAnalyticsProcessorSourceUri *string `field:"optional" json:"postAnalyticsProcessorSourceUri" yaml:"postAnalyticsProcessorSourceUri"`
	// An Amazon S3 URI to a script that is called per row prior to running analysis.
	//
	// It can base64 decode the payload and convert it into a flatted json so that the built-in container can use the converted data. Applicable only for the built-in (first party) containers.
	RecordPreprocessorSourceUri *string `field:"optional" json:"recordPreprocessorSourceUri" yaml:"recordPreprocessorSourceUri"`
}

Information about the container that a data quality monitoring job runs.

Example:

// 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"

dataQualityAppSpecificationProperty := &DataQualityAppSpecificationProperty{
	ImageUri: jsii.String("imageUri"),

	// the properties below are optional
	ContainerArguments: []*string{
		jsii.String("containerArguments"),
	},
	ContainerEntrypoint: []*string{
		jsii.String("containerEntrypoint"),
	},
	Environment: map[string]*string{
		"environmentKey": jsii.String("environment"),
	},
	PostAnalyticsProcessorSourceUri: jsii.String("postAnalyticsProcessorSourceUri"),
	RecordPreprocessorSourceUri: jsii.String("recordPreprocessorSourceUri"),
}

type CfnDataQualityJobDefinition_DataQualityBaselineConfigProperty

type CfnDataQualityJobDefinition_DataQualityBaselineConfigProperty struct {
	// The name of the job that performs baselining for the data quality monitoring job.
	BaseliningJobName *string `field:"optional" json:"baseliningJobName" yaml:"baseliningJobName"`
	// The constraints resource for a monitoring job.
	ConstraintsResource interface{} `field:"optional" json:"constraintsResource" yaml:"constraintsResource"`
	// Configuration for monitoring constraints and monitoring statistics.
	//
	// These baseline resources are compared against the results of the current job from the series of jobs scheduled to collect data periodically.
	StatisticsResource interface{} `field:"optional" json:"statisticsResource" yaml:"statisticsResource"`
}

Configuration for monitoring constraints and monitoring statistics.

These baseline resources are compared against the results of the current job from the series of jobs scheduled to collect data periodically.

Example:

// 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"

dataQualityBaselineConfigProperty := &DataQualityBaselineConfigProperty{
	BaseliningJobName: jsii.String("baseliningJobName"),
	ConstraintsResource: &ConstraintsResourceProperty{
		S3Uri: jsii.String("s3Uri"),
	},
	StatisticsResource: &StatisticsResourceProperty{
		S3Uri: jsii.String("s3Uri"),
	},
}

type CfnDataQualityJobDefinition_DataQualityJobInputProperty

type CfnDataQualityJobDefinition_DataQualityJobInputProperty struct {
	// `CfnDataQualityJobDefinition.DataQualityJobInputProperty.BatchTransformInput`.
	BatchTransformInput interface{} `field:"optional" json:"batchTransformInput" yaml:"batchTransformInput"`
	// Input object for the endpoint.
	EndpointInput interface{} `field:"optional" json:"endpointInput" yaml:"endpointInput"`
}

The input for the data quality monitoring job.

Currently endpoints are supported for input.

Example:

// 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"

dataQualityJobInputProperty := &DataQualityJobInputProperty{
	BatchTransformInput: &BatchTransformInputProperty{
		DataCapturedDestinationS3Uri: jsii.String("dataCapturedDestinationS3Uri"),
		DatasetFormat: &DatasetFormatProperty{
			Csv: &CsvProperty{
				Header: jsii.Boolean(false),
			},
			Json: &JsonProperty{
				Line: jsii.Boolean(false),
			},
			Parquet: jsii.Boolean(false),
		},
		LocalPath: jsii.String("localPath"),

		// the properties below are optional
		S3DataDistributionType: jsii.String("s3DataDistributionType"),
		S3InputMode: jsii.String("s3InputMode"),
	},
	EndpointInput: &EndpointInputProperty{
		EndpointName: jsii.String("endpointName"),
		LocalPath: jsii.String("localPath"),

		// the properties below are optional
		S3DataDistributionType: jsii.String("s3DataDistributionType"),
		S3InputMode: jsii.String("s3InputMode"),
	},
}

type CfnDataQualityJobDefinition_DatasetFormatProperty added in v2.48.0

type CfnDataQualityJobDefinition_DatasetFormatProperty struct {
	// `CfnDataQualityJobDefinition.DatasetFormatProperty.Csv`.
	Csv interface{} `field:"optional" json:"csv" yaml:"csv"`
	// `CfnDataQualityJobDefinition.DatasetFormatProperty.Json`.
	Json interface{} `field:"optional" json:"json" yaml:"json"`
	// `CfnDataQualityJobDefinition.DatasetFormatProperty.Parquet`.
	Parquet interface{} `field:"optional" json:"parquet" yaml:"parquet"`
}

Example:

// 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"

datasetFormatProperty := &DatasetFormatProperty{
	Csv: &CsvProperty{
		Header: jsii.Boolean(false),
	},
	Json: &JsonProperty{
		Line: jsii.Boolean(false),
	},
	Parquet: jsii.Boolean(false),
}

type CfnDataQualityJobDefinition_EndpointInputProperty

type CfnDataQualityJobDefinition_EndpointInputProperty struct {
	// An endpoint in customer's account which has enabled `DataCaptureConfig` enabled.
	EndpointName *string `field:"required" json:"endpointName" yaml:"endpointName"`
	// Path to the filesystem where the endpoint data is available to the container.
	LocalPath *string `field:"required" json:"localPath" yaml:"localPath"`
	// Whether input data distributed in Amazon S3 is fully replicated or sharded by an S3 key.
	//
	// Defaults to `FullyReplicated`.
	S3DataDistributionType *string `field:"optional" json:"s3DataDistributionType" yaml:"s3DataDistributionType"`
	// Whether the `Pipe` or `File` is used as the input mode for transferring data for the monitoring job.
	//
	// `Pipe` mode is recommended for large datasets. `File` mode is useful for small files that fit in memory. Defaults to `File` .
	S3InputMode *string `field:"optional" json:"s3InputMode" yaml:"s3InputMode"`
}

Input object for the endpoint.

Example:

// 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"

endpointInputProperty := &EndpointInputProperty{
	EndpointName: jsii.String("endpointName"),
	LocalPath: jsii.String("localPath"),

	// the properties below are optional
	S3DataDistributionType: jsii.String("s3DataDistributionType"),
	S3InputMode: jsii.String("s3InputMode"),
}

type CfnDataQualityJobDefinition_JsonProperty added in v2.48.0

type CfnDataQualityJobDefinition_JsonProperty struct {
	// `CfnDataQualityJobDefinition.JsonProperty.Line`.
	Line interface{} `field:"optional" json:"line" yaml:"line"`
}

Example:

// 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"

jsonProperty := &JsonProperty{
	Line: jsii.Boolean(false),
}

type CfnDataQualityJobDefinition_MonitoringOutputConfigProperty

type CfnDataQualityJobDefinition_MonitoringOutputConfigProperty struct {
	// Monitoring outputs for monitoring jobs.
	//
	// This is where the output of the periodic monitoring jobs is uploaded.
	MonitoringOutputs interface{} `field:"required" json:"monitoringOutputs" yaml:"monitoringOutputs"`
	// The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt the model artifacts at rest using Amazon S3 server-side encryption.
	KmsKeyId *string `field:"optional" json:"kmsKeyId" yaml:"kmsKeyId"`
}

The output configuration for monitoring jobs.

Example:

// 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"

monitoringOutputConfigProperty := &MonitoringOutputConfigProperty{
	MonitoringOutputs: []interface{}{
		&MonitoringOutputProperty{
			S3Output: &S3OutputProperty{
				LocalPath: jsii.String("localPath"),
				S3Uri: jsii.String("s3Uri"),

				// the properties below are optional
				S3UploadMode: jsii.String("s3UploadMode"),
			},
		},
	},

	// the properties below are optional
	KmsKeyId: jsii.String("kmsKeyId"),
}

type CfnDataQualityJobDefinition_MonitoringOutputProperty

type CfnDataQualityJobDefinition_MonitoringOutputProperty struct {
	// The Amazon S3 storage location where the results of a monitoring job are saved.
	S3Output interface{} `field:"required" json:"s3Output" yaml:"s3Output"`
}

The output object for a monitoring job.

Example:

// 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"

monitoringOutputProperty := &MonitoringOutputProperty{
	S3Output: &S3OutputProperty{
		LocalPath: jsii.String("localPath"),
		S3Uri: jsii.String("s3Uri"),

		// the properties below are optional
		S3UploadMode: jsii.String("s3UploadMode"),
	},
}

type CfnDataQualityJobDefinition_MonitoringResourcesProperty

type CfnDataQualityJobDefinition_MonitoringResourcesProperty struct {
	// The configuration for the cluster resources used to run the processing job.
	ClusterConfig interface{} `field:"required" json:"clusterConfig" yaml:"clusterConfig"`
}

Identifies the resources to deploy for a monitoring job.

Example:

// 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"

monitoringResourcesProperty := &MonitoringResourcesProperty{
	ClusterConfig: &ClusterConfigProperty{
		InstanceCount: jsii.Number(123),
		InstanceType: jsii.String("instanceType"),
		VolumeSizeInGb: jsii.Number(123),

		// the properties below are optional
		VolumeKmsKeyId: jsii.String("volumeKmsKeyId"),
	},
}

type CfnDataQualityJobDefinition_NetworkConfigProperty

type CfnDataQualityJobDefinition_NetworkConfigProperty struct {
	// Whether to encrypt all communications between distributed processing jobs.
	//
	// Choose `True` to encrypt communications. Encryption provides greater security for distributed processing jobs, but the processing might take longer.
	EnableInterContainerTrafficEncryption interface{} `field:"optional" json:"enableInterContainerTrafficEncryption" yaml:"enableInterContainerTrafficEncryption"`
	// Whether to allow inbound and outbound network calls to and from the containers used for the processing job.
	EnableNetworkIsolation interface{} `field:"optional" json:"enableNetworkIsolation" yaml:"enableNetworkIsolation"`
	// Specifies a VPC that your training jobs and hosted models have access to.
	//
	// Control access to and from your training and model containers by configuring the VPC.
	VpcConfig interface{} `field:"optional" json:"vpcConfig" yaml:"vpcConfig"`
}

Networking options for a job, such as network traffic encryption between containers, whether to allow inbound and outbound network calls to and from containers, and the VPC subnets and security groups to use for VPC-enabled jobs.

Example:

// 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"

networkConfigProperty := &NetworkConfigProperty{
	EnableInterContainerTrafficEncryption: jsii.Boolean(false),
	EnableNetworkIsolation: jsii.Boolean(false),
	VpcConfig: &VpcConfigProperty{
		SecurityGroupIds: []*string{
			jsii.String("securityGroupIds"),
		},
		Subnets: []*string{
			jsii.String("subnets"),
		},
	},
}

type CfnDataQualityJobDefinition_S3OutputProperty

type CfnDataQualityJobDefinition_S3OutputProperty struct {
	// The local path to the Amazon S3 storage location where Amazon SageMaker saves the results of a monitoring job.
	//
	// LocalPath is an absolute path for the output data.
	LocalPath *string `field:"required" json:"localPath" yaml:"localPath"`
	// A URI that identifies the Amazon S3 storage location where Amazon SageMaker saves the results of a monitoring job.
	S3Uri *string `field:"required" json:"s3Uri" yaml:"s3Uri"`
	// Whether to upload the results of the monitoring job continuously or after the job completes.
	S3UploadMode *string `field:"optional" json:"s3UploadMode" yaml:"s3UploadMode"`
}

The Amazon S3 storage location where the results of a monitoring job are saved.

Example:

// 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"

s3OutputProperty := &S3OutputProperty{
	LocalPath: jsii.String("localPath"),
	S3Uri: jsii.String("s3Uri"),

	// the properties below are optional
	S3UploadMode: jsii.String("s3UploadMode"),
}

type CfnDataQualityJobDefinition_StatisticsResourceProperty

type CfnDataQualityJobDefinition_StatisticsResourceProperty struct {
	// The Amazon S3 URI for the statistics resource.
	S3Uri *string `field:"optional" json:"s3Uri" yaml:"s3Uri"`
}

The statistics resource for a monitoring job.

Example:

// 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"

statisticsResourceProperty := &StatisticsResourceProperty{
	S3Uri: jsii.String("s3Uri"),
}

type CfnDataQualityJobDefinition_StoppingConditionProperty

type CfnDataQualityJobDefinition_StoppingConditionProperty struct {
	// The maximum length of time, in seconds, that a training or compilation job can run before it is stopped.
	//
	// For compilation jobs, if the job does not complete during this time, a `TimeOut` error is generated. We recommend starting with 900 seconds and increasing as necessary based on your model.
	//
	// For all other jobs, if the job does not complete during this time, SageMaker ends the job. When `RetryStrategy` is specified in the job request, `MaxRuntimeInSeconds` specifies the maximum time for all of the attempts in total, not each individual attempt. The default value is 1 day. The maximum value is 28 days.
	//
	// The maximum time that a `TrainingJob` can run in total, including any time spent publishing metrics or archiving and uploading models after it has been stopped, is 30 days.
	MaxRuntimeInSeconds *float64 `field:"required" json:"maxRuntimeInSeconds" yaml:"maxRuntimeInSeconds"`
}

Specifies a limit to how long a model training job or model compilation job can run.

It also specifies how long a managed spot training job has to complete. When the job reaches the time limit, SageMaker ends the training or compilation job. Use this API to cap model training costs.

To stop a training job, SageMaker sends the algorithm the `SIGTERM` signal, which delays job termination for 120 seconds. Algorithms can use this 120-second window to save the model artifacts, so the results of training are not lost.

The training algorithms provided by SageMaker automatically save the intermediate results of a model training job when possible. This attempt to save artifacts is only a best effort case as model might not be in a state from which it can be saved. For example, if training has just started, the model might not be ready to save. When saved, this intermediate data is a valid model artifact. You can use it to create a model with `CreateModel` .

> The Neural Topic Model (NTM) currently does not support saving intermediate model artifacts. When training NTMs, make sure that the maximum runtime is sufficient for the training job to complete.

Example:

// 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"

stoppingConditionProperty := &StoppingConditionProperty{
	MaxRuntimeInSeconds: jsii.Number(123),
}

type CfnDataQualityJobDefinition_VpcConfigProperty

type CfnDataQualityJobDefinition_VpcConfigProperty struct {
	// The VPC security group IDs, in the form sg-xxxxxxxx.
	//
	// Specify the security groups for the VPC that is specified in the `Subnets` field.
	SecurityGroupIds *[]*string `field:"required" json:"securityGroupIds" yaml:"securityGroupIds"`
	// The ID of the subnets in the VPC to which you want to connect your training job or model.
	//
	// For information about the availability of specific instance types, see [Supported Instance Types and Availability Zones](https://docs.aws.amazon.com/sagemaker/latest/dg/instance-types-az.html) .
	Subnets *[]*string `field:"required" json:"subnets" yaml:"subnets"`
}

Specifies a VPC that your training jobs and hosted models have access to.

Control access to and from your training and model containers by configuring the VPC. For more information, see [Protect Endpoints by Using an Amazon Virtual Private Cloud](https://docs.aws.amazon.com/sagemaker/latest/dg/host-vpc.html) and [Protect Training Jobs by Using an Amazon Virtual Private Cloud](https://docs.aws.amazon.com/sagemaker/latest/dg/train-vpc.html) .

Example:

// 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"

vpcConfigProperty := &VpcConfigProperty{
	SecurityGroupIds: []*string{
		jsii.String("securityGroupIds"),
	},
	Subnets: []*string{
		jsii.String("subnets"),
	},
}

type CfnDevice

type CfnDevice interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// Edge device you want to create.
	Device() interface{}
	SetDevice(val interface{})
	// The name of the fleet the device belongs to.
	DeviceFleetName() *string
	SetDeviceFleetName(val *string)
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The tree node.
	Node() constructs.Node
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// An array of key-value pairs that contain metadata to help you categorize and organize your devices.
	//
	// Each tag consists of a key and a value, both of which you define.
	Tags() awscdk.TagManager
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// 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`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::SageMaker::Device`.

The `AWS::SageMaker::Device` resource is an Amazon SageMaker resource type that allows you to register your Devices against an existing SageMaker Edge Manager DeviceFleet. Each device must be listed individually in the CFN specification.

Example:

// 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"

cfnDevice := awscdk.Aws_sagemaker.NewCfnDevice(this, jsii.String("MyCfnDevice"), &CfnDeviceProps{
	DeviceFleetName: jsii.String("deviceFleetName"),

	// the properties below are optional
	Device: &DeviceProperty{
		DeviceName: jsii.String("deviceName"),

		// the properties below are optional
		Description: jsii.String("description"),
		IotThingName: jsii.String("iotThingName"),
	},
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
})

func NewCfnDevice

func NewCfnDevice(scope constructs.Construct, id *string, props *CfnDeviceProps) CfnDevice

Create a new `AWS::SageMaker::Device`.

type CfnDeviceFleet

type CfnDeviceFleet interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// A description of the fleet.
	Description() *string
	SetDescription(val *string)
	// Name of the device fleet.
	DeviceFleetName() *string
	SetDeviceFleetName(val *string)
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The tree node.
	Node() constructs.Node
	// The output configuration for storing sample data collected by the fleet.
	OutputConfig() interface{}
	SetOutputConfig(val interface{})
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// The Amazon Resource Name (ARN) that has access to AWS Internet of Things (IoT).
	RoleArn() *string
	SetRoleArn(val *string)
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// An array of key-value pairs that contain metadata to help you categorize and organize your device fleets.
	//
	// Each tag consists of a key and a value, both of which you define.
	Tags() awscdk.TagManager
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// 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`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::SageMaker::DeviceFleet`.

The `AWS::SageMaker::DeviceFleet` resource is an Amazon SageMaker resource type that allows you to create a DeviceFleet that manages your SageMaker Edge Manager Devices. You must register your devices against the `DeviceFleet` separately.

Example:

// 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"

cfnDeviceFleet := awscdk.Aws_sagemaker.NewCfnDeviceFleet(this, jsii.String("MyCfnDeviceFleet"), &CfnDeviceFleetProps{
	DeviceFleetName: jsii.String("deviceFleetName"),
	OutputConfig: &EdgeOutputConfigProperty{
		S3OutputLocation: jsii.String("s3OutputLocation"),

		// the properties below are optional
		KmsKeyId: jsii.String("kmsKeyId"),
	},
	RoleArn: jsii.String("roleArn"),

	// the properties below are optional
	Description: jsii.String("description"),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
})

func NewCfnDeviceFleet

func NewCfnDeviceFleet(scope constructs.Construct, id *string, props *CfnDeviceFleetProps) CfnDeviceFleet

Create a new `AWS::SageMaker::DeviceFleet`.

type CfnDeviceFleetProps

type CfnDeviceFleetProps struct {
	// Name of the device fleet.
	DeviceFleetName *string `field:"required" json:"deviceFleetName" yaml:"deviceFleetName"`
	// The output configuration for storing sample data collected by the fleet.
	OutputConfig interface{} `field:"required" json:"outputConfig" yaml:"outputConfig"`
	// The Amazon Resource Name (ARN) that has access to AWS Internet of Things (IoT).
	RoleArn *string `field:"required" json:"roleArn" yaml:"roleArn"`
	// A description of the fleet.
	Description *string `field:"optional" json:"description" yaml:"description"`
	// An array of key-value pairs that contain metadata to help you categorize and organize your device fleets.
	//
	// Each tag consists of a key and a value, both of which you define.
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
}

Properties for defining a `CfnDeviceFleet`.

Example:

// 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"

cfnDeviceFleetProps := &CfnDeviceFleetProps{
	DeviceFleetName: jsii.String("deviceFleetName"),
	OutputConfig: &EdgeOutputConfigProperty{
		S3OutputLocation: jsii.String("s3OutputLocation"),

		// the properties below are optional
		KmsKeyId: jsii.String("kmsKeyId"),
	},
	RoleArn: jsii.String("roleArn"),

	// the properties below are optional
	Description: jsii.String("description"),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
}

type CfnDeviceFleet_EdgeOutputConfigProperty

type CfnDeviceFleet_EdgeOutputConfigProperty struct {
	// The Amazon Simple Storage (S3) bucket URI.
	S3OutputLocation *string `field:"required" json:"s3OutputLocation" yaml:"s3OutputLocation"`
	// The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt data on the storage volume after compilation job.
	//
	// If you don't provide a KMS key ID, Amazon SageMaker uses the default KMS key for Amazon S3 for your role's account.
	KmsKeyId *string `field:"optional" json:"kmsKeyId" yaml:"kmsKeyId"`
}

The output configuration for storing sample data collected by the fleet.

Example:

// 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"

edgeOutputConfigProperty := &EdgeOutputConfigProperty{
	S3OutputLocation: jsii.String("s3OutputLocation"),

	// the properties below are optional
	KmsKeyId: jsii.String("kmsKeyId"),
}

type CfnDeviceProps

type CfnDeviceProps struct {
	// The name of the fleet the device belongs to.
	DeviceFleetName *string `field:"required" json:"deviceFleetName" yaml:"deviceFleetName"`
	// Edge device you want to create.
	Device interface{} `field:"optional" json:"device" yaml:"device"`
	// An array of key-value pairs that contain metadata to help you categorize and organize your devices.
	//
	// Each tag consists of a key and a value, both of which you define.
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
}

Properties for defining a `CfnDevice`.

Example:

// 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"

cfnDeviceProps := &CfnDeviceProps{
	DeviceFleetName: jsii.String("deviceFleetName"),

	// the properties below are optional
	Device: &DeviceProperty{
		DeviceName: jsii.String("deviceName"),

		// the properties below are optional
		Description: jsii.String("description"),
		IotThingName: jsii.String("iotThingName"),
	},
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
}

type CfnDevice_DeviceProperty

type CfnDevice_DeviceProperty struct {
	// The name of the device.
	DeviceName *string `field:"required" json:"deviceName" yaml:"deviceName"`
	// Description of the device.
	Description *string `field:"optional" json:"description" yaml:"description"`
	// AWS Internet of Things (IoT) object name.
	IotThingName *string `field:"optional" json:"iotThingName" yaml:"iotThingName"`
}

Information of a particular device.

Example:

// 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"

deviceProperty := &DeviceProperty{
	DeviceName: jsii.String("deviceName"),

	// the properties below are optional
	Description: jsii.String("description"),
	IotThingName: jsii.String("iotThingName"),
}

type CfnDomain

type CfnDomain interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// Specifies the VPC used for non-EFS traffic. The default value is `PublicInternetOnly` .
	//
	// - `PublicInternetOnly` - Non-EFS traffic is through a VPC managed by Amazon SageMaker , which allows direct internet access
	// - `VpcOnly` - All Studio traffic is through the specified VPC and subnets
	//
	// *Valid Values* : `PublicInternetOnly | VpcOnly`.
	AppNetworkAccessType() *string
	SetAppNetworkAccessType(val *string)
	// The entity that creates and manages the required security groups for inter-app communication in `VpcOnly` mode.
	//
	// Required when `CreateDomain.AppNetworkAccessType` is `VpcOnly` and `DomainSettings.RStudioServerProDomainSettings.DomainExecutionRoleArn` is provided. If setting up the domain for use with RStudio, this value must be set to `Service` .
	//
	// *Allowed Values* : `Service` | `Customer`.
	AppSecurityGroupManagement() *string
	SetAppSecurityGroupManagement(val *string)
	// The Amazon Resource Name (ARN) of the Domain, such as `arn:aws:sagemaker:us-west-2:account-id:domain/my-domain-name` .
	AttrDomainArn() *string
	// The Domain ID.
	AttrDomainId() *string
	// The ID of the Amazon Elastic File System (EFS) managed by this Domain.
	AttrHomeEfsFileSystemId() *string
	// The ID of the security group that authorizes traffic between the `RSessionGateway` apps and the `RStudioServerPro` app.
	AttrSecurityGroupIdForDomainBoundary() *string
	// The IAM Identity Center managed application instance ID.
	AttrSingleSignOnManagedApplicationInstanceId() *string
	// The URL for the Domain.
	AttrUrl() *string
	// The mode of authentication that members use to access the Domain.
	//
	// *Valid Values* : `SSO | IAM`.
	AuthMode() *string
	SetAuthMode(val *string)
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// `AWS::SageMaker::Domain.DefaultSpaceSettings`.
	DefaultSpaceSettings() interface{}
	SetDefaultSpaceSettings(val interface{})
	// The default user settings.
	DefaultUserSettings() interface{}
	SetDefaultUserSettings(val interface{})
	// The domain name.
	DomainName() *string
	SetDomainName(val *string)
	// A collection of settings that apply to the `SageMaker Domain` .
	//
	// These settings are specified through the `CreateDomain` API call.
	DomainSettings() interface{}
	SetDomainSettings(val interface{})
	// SageMaker uses AWS KMS to encrypt the EFS volume attached to the Domain with an AWS managed customer master key (CMK) by default.
	//
	// For more control, specify a customer managed CMK.
	//
	// *Length Constraints* : Maximum length of 2048.
	//
	// *Pattern* : `.*`
	KmsKeyId() *string
	SetKmsKeyId(val *string)
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The tree node.
	Node() constructs.Node
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// The VPC subnets that Studio uses for communication.
	//
	// *Length Constraints* : Maximum length of 32.
	//
	// *Array members* : Minimum number of 1 item. Maximum number of 16 items.
	//
	// *Pattern* : `[-0-9a-zA-Z]+`.
	SubnetIds() *[]*string
	SetSubnetIds(val *[]*string)
	// Tags to associated with the Domain.
	//
	// Each tag consists of a key and an optional value. Tag keys must be unique per resource. Tags are searchable using the Search API.
	//
	// Tags that you specify for the Domain are also added to all apps that are launched in the Domain.
	//
	// *Array members* : Minimum number of 0 items. Maximum number of 50 items.
	Tags() awscdk.TagManager
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// The ID of the Amazon Virtual Private Cloud (Amazon VPC) that Studio uses for communication.
	//
	// *Length Constraints* : Maximum length of 32.
	//
	// *Pattern* : `[-0-9a-zA-Z]+`.
	VpcId() *string
	SetVpcId(val *string)
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// 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`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::SageMaker::Domain`.

Creates a `Domain` used by Amazon SageMaker Studio. A domain consists of an associated Amazon Elastic File System (EFS) volume, a list of authorized users, and a variety of security, application, policy, and Amazon Virtual Private Cloud (VPC) configurations. Users within a domain can share notebook files and other artifacts with each other.

*EFS storage*

When a domain is created, an EFS volume is created for use by all of the users within the domain. Each user receives a private home directory within the EFS volume for notebooks, Git repositories, and data files.

SageMaker uses the AWS Key Management Service ( AWS KMS) to encrypt the EFS volume attached to the domain with an AWS managed key by default. For more control, you can specify a customer managed key. For more information, see [Protect Data at Rest Using Encryption](https://docs.aws.amazon.com/sagemaker/latest/dg/encryption-at-rest.html) .

*VPC configuration*

All SageMaker Studio traffic between the domain and the EFS volume is through the specified VPC and subnets. For other Studio traffic, you can specify the `AppNetworkAccessType` parameter. `AppNetworkAccessType` corresponds to the network access type that you choose when you onboard to Studio. The following options are available:

- `PublicInternetOnly` - Non-EFS traffic goes through a VPC managed by Amazon SageMaker, which allows internet access. This is the default value. - `VpcOnly` - All Studio traffic is through the specified VPC and subnets. Internet access is disabled by default. To allow internet access, you must specify a NAT gateway.

When internet access is disabled, you won't be able to run a Studio notebook or to train or host models unless your VPC has an interface endpoint to the SageMaker API and runtime or a NAT gateway and your security groups allow outbound connections.

> NFS traffic over TCP on port 2049 needs to be allowed in both inbound and outbound rules in order to launch a SageMaker Studio app successfully.

For more information, see [Connect SageMaker Studio Notebooks to Resources in a VPC](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-notebooks-and-internet-access.html) .

Example:

// 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"

cfnDomain := awscdk.Aws_sagemaker.NewCfnDomain(this, jsii.String("MyCfnDomain"), &CfnDomainProps{
	AuthMode: jsii.String("authMode"),
	DefaultUserSettings: &UserSettingsProperty{
		ExecutionRole: jsii.String("executionRole"),

		// the properties below are optional
		JupyterServerAppSettings: &JupyterServerAppSettingsProperty{
			DefaultResourceSpec: &ResourceSpecProperty{
				InstanceType: jsii.String("instanceType"),
				LifecycleConfigArn: jsii.String("lifecycleConfigArn"),
				SageMakerImageArn: jsii.String("sageMakerImageArn"),
				SageMakerImageVersionArn: jsii.String("sageMakerImageVersionArn"),
			},
		},
		KernelGatewayAppSettings: &KernelGatewayAppSettingsProperty{
			CustomImages: []interface{}{
				&CustomImageProperty{
					AppImageConfigName: jsii.String("appImageConfigName"),
					ImageName: jsii.String("imageName"),

					// the properties below are optional
					ImageVersionNumber: jsii.Number(123),
				},
			},
			DefaultResourceSpec: &ResourceSpecProperty{
				InstanceType: jsii.String("instanceType"),
				LifecycleConfigArn: jsii.String("lifecycleConfigArn"),
				SageMakerImageArn: jsii.String("sageMakerImageArn"),
				SageMakerImageVersionArn: jsii.String("sageMakerImageVersionArn"),
			},
		},
		RSessionAppSettings: &RSessionAppSettingsProperty{
			CustomImages: []interface{}{
				&CustomImageProperty{
					AppImageConfigName: jsii.String("appImageConfigName"),
					ImageName: jsii.String("imageName"),

					// the properties below are optional
					ImageVersionNumber: jsii.Number(123),
				},
			},
			DefaultResourceSpec: &ResourceSpecProperty{
				InstanceType: jsii.String("instanceType"),
				LifecycleConfigArn: jsii.String("lifecycleConfigArn"),
				SageMakerImageArn: jsii.String("sageMakerImageArn"),
				SageMakerImageVersionArn: jsii.String("sageMakerImageVersionArn"),
			},
		},
		RStudioServerProAppSettings: &RStudioServerProAppSettingsProperty{
			AccessStatus: jsii.String("accessStatus"),
			UserGroup: jsii.String("userGroup"),
		},
		SecurityGroups: []*string{
			jsii.String("securityGroups"),
		},
		SharingSettings: &SharingSettingsProperty{
			NotebookOutputOption: jsii.String("notebookOutputOption"),
			S3KmsKeyId: jsii.String("s3KmsKeyId"),
			S3OutputPath: jsii.String("s3OutputPath"),
		},
	},
	DomainName: jsii.String("domainName"),
	SubnetIds: []*string{
		jsii.String("subnetIds"),
	},
	VpcId: jsii.String("vpcId"),

	// the properties below are optional
	AppNetworkAccessType: jsii.String("appNetworkAccessType"),
	AppSecurityGroupManagement: jsii.String("appSecurityGroupManagement"),
	DefaultSpaceSettings: &DefaultSpaceSettingsProperty{
		ExecutionRole: jsii.String("executionRole"),

		// the properties below are optional
		JupyterServerAppSettings: &JupyterServerAppSettingsProperty{
			DefaultResourceSpec: &ResourceSpecProperty{
				InstanceType: jsii.String("instanceType"),
				LifecycleConfigArn: jsii.String("lifecycleConfigArn"),
				SageMakerImageArn: jsii.String("sageMakerImageArn"),
				SageMakerImageVersionArn: jsii.String("sageMakerImageVersionArn"),
			},
		},
		KernelGatewayAppSettings: &KernelGatewayAppSettingsProperty{
			CustomImages: []interface{}{
				&CustomImageProperty{
					AppImageConfigName: jsii.String("appImageConfigName"),
					ImageName: jsii.String("imageName"),

					// the properties below are optional
					ImageVersionNumber: jsii.Number(123),
				},
			},
			DefaultResourceSpec: &ResourceSpecProperty{
				InstanceType: jsii.String("instanceType"),
				LifecycleConfigArn: jsii.String("lifecycleConfigArn"),
				SageMakerImageArn: jsii.String("sageMakerImageArn"),
				SageMakerImageVersionArn: jsii.String("sageMakerImageVersionArn"),
			},
		},
		SecurityGroups: []*string{
			jsii.String("securityGroups"),
		},
	},
	DomainSettings: &DomainSettingsProperty{
		RStudioServerProDomainSettings: &RStudioServerProDomainSettingsProperty{
			DomainExecutionRoleArn: jsii.String("domainExecutionRoleArn"),

			// the properties below are optional
			DefaultResourceSpec: &ResourceSpecProperty{
				InstanceType: jsii.String("instanceType"),
				LifecycleConfigArn: jsii.String("lifecycleConfigArn"),
				SageMakerImageArn: jsii.String("sageMakerImageArn"),
				SageMakerImageVersionArn: jsii.String("sageMakerImageVersionArn"),
			},
			RStudioConnectUrl: jsii.String("rStudioConnectUrl"),
			RStudioPackageManagerUrl: jsii.String("rStudioPackageManagerUrl"),
		},
		SecurityGroupIds: []*string{
			jsii.String("securityGroupIds"),
		},
	},
	KmsKeyId: jsii.String("kmsKeyId"),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
})

func NewCfnDomain

func NewCfnDomain(scope constructs.Construct, id *string, props *CfnDomainProps) CfnDomain

Create a new `AWS::SageMaker::Domain`.

type CfnDomainProps

type CfnDomainProps struct {
	// The mode of authentication that members use to access the Domain.
	//
	// *Valid Values* : `SSO | IAM`.
	AuthMode *string `field:"required" json:"authMode" yaml:"authMode"`
	// The default user settings.
	DefaultUserSettings interface{} `field:"required" json:"defaultUserSettings" yaml:"defaultUserSettings"`
	// The domain name.
	DomainName *string `field:"required" json:"domainName" yaml:"domainName"`
	// The VPC subnets that Studio uses for communication.
	//
	// *Length Constraints* : Maximum length of 32.
	//
	// *Array members* : Minimum number of 1 item. Maximum number of 16 items.
	//
	// *Pattern* : `[-0-9a-zA-Z]+`.
	SubnetIds *[]*string `field:"required" json:"subnetIds" yaml:"subnetIds"`
	// The ID of the Amazon Virtual Private Cloud (Amazon VPC) that Studio uses for communication.
	//
	// *Length Constraints* : Maximum length of 32.
	//
	// *Pattern* : `[-0-9a-zA-Z]+`.
	VpcId *string `field:"required" json:"vpcId" yaml:"vpcId"`
	// Specifies the VPC used for non-EFS traffic. The default value is `PublicInternetOnly` .
	//
	// - `PublicInternetOnly` - Non-EFS traffic is through a VPC managed by Amazon SageMaker , which allows direct internet access
	// - `VpcOnly` - All Studio traffic is through the specified VPC and subnets
	//
	// *Valid Values* : `PublicInternetOnly | VpcOnly`.
	AppNetworkAccessType *string `field:"optional" json:"appNetworkAccessType" yaml:"appNetworkAccessType"`
	// The entity that creates and manages the required security groups for inter-app communication in `VpcOnly` mode.
	//
	// Required when `CreateDomain.AppNetworkAccessType` is `VpcOnly` and `DomainSettings.RStudioServerProDomainSettings.DomainExecutionRoleArn` is provided. If setting up the domain for use with RStudio, this value must be set to `Service` .
	//
	// *Allowed Values* : `Service` | `Customer`.
	AppSecurityGroupManagement *string `field:"optional" json:"appSecurityGroupManagement" yaml:"appSecurityGroupManagement"`
	// `AWS::SageMaker::Domain.DefaultSpaceSettings`.
	DefaultSpaceSettings interface{} `field:"optional" json:"defaultSpaceSettings" yaml:"defaultSpaceSettings"`
	// A collection of settings that apply to the `SageMaker Domain` .
	//
	// These settings are specified through the `CreateDomain` API call.
	DomainSettings interface{} `field:"optional" json:"domainSettings" yaml:"domainSettings"`
	// SageMaker uses AWS KMS to encrypt the EFS volume attached to the Domain with an AWS managed customer master key (CMK) by default.
	//
	// For more control, specify a customer managed CMK.
	//
	// *Length Constraints* : Maximum length of 2048.
	//
	// *Pattern* : `.*`
	KmsKeyId *string `field:"optional" json:"kmsKeyId" yaml:"kmsKeyId"`
	// Tags to associated with the Domain.
	//
	// Each tag consists of a key and an optional value. Tag keys must be unique per resource. Tags are searchable using the Search API.
	//
	// Tags that you specify for the Domain are also added to all apps that are launched in the Domain.
	//
	// *Array members* : Minimum number of 0 items. Maximum number of 50 items.
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
}

Properties for defining a `CfnDomain`.

Example:

// 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"

cfnDomainProps := &CfnDomainProps{
	AuthMode: jsii.String("authMode"),
	DefaultUserSettings: &UserSettingsProperty{
		ExecutionRole: jsii.String("executionRole"),

		// the properties below are optional
		JupyterServerAppSettings: &JupyterServerAppSettingsProperty{
			DefaultResourceSpec: &ResourceSpecProperty{
				InstanceType: jsii.String("instanceType"),
				LifecycleConfigArn: jsii.String("lifecycleConfigArn"),
				SageMakerImageArn: jsii.String("sageMakerImageArn"),
				SageMakerImageVersionArn: jsii.String("sageMakerImageVersionArn"),
			},
		},
		KernelGatewayAppSettings: &KernelGatewayAppSettingsProperty{
			CustomImages: []interface{}{
				&CustomImageProperty{
					AppImageConfigName: jsii.String("appImageConfigName"),
					ImageName: jsii.String("imageName"),

					// the properties below are optional
					ImageVersionNumber: jsii.Number(123),
				},
			},
			DefaultResourceSpec: &ResourceSpecProperty{
				InstanceType: jsii.String("instanceType"),
				LifecycleConfigArn: jsii.String("lifecycleConfigArn"),
				SageMakerImageArn: jsii.String("sageMakerImageArn"),
				SageMakerImageVersionArn: jsii.String("sageMakerImageVersionArn"),
			},
		},
		RSessionAppSettings: &RSessionAppSettingsProperty{
			CustomImages: []interface{}{
				&CustomImageProperty{
					AppImageConfigName: jsii.String("appImageConfigName"),
					ImageName: jsii.String("imageName"),

					// the properties below are optional
					ImageVersionNumber: jsii.Number(123),
				},
			},
			DefaultResourceSpec: &ResourceSpecProperty{
				InstanceType: jsii.String("instanceType"),
				LifecycleConfigArn: jsii.String("lifecycleConfigArn"),
				SageMakerImageArn: jsii.String("sageMakerImageArn"),
				SageMakerImageVersionArn: jsii.String("sageMakerImageVersionArn"),
			},
		},
		RStudioServerProAppSettings: &RStudioServerProAppSettingsProperty{
			AccessStatus: jsii.String("accessStatus"),
			UserGroup: jsii.String("userGroup"),
		},
		SecurityGroups: []*string{
			jsii.String("securityGroups"),
		},
		SharingSettings: &SharingSettingsProperty{
			NotebookOutputOption: jsii.String("notebookOutputOption"),
			S3KmsKeyId: jsii.String("s3KmsKeyId"),
			S3OutputPath: jsii.String("s3OutputPath"),
		},
	},
	DomainName: jsii.String("domainName"),
	SubnetIds: []*string{
		jsii.String("subnetIds"),
	},
	VpcId: jsii.String("vpcId"),

	// the properties below are optional
	AppNetworkAccessType: jsii.String("appNetworkAccessType"),
	AppSecurityGroupManagement: jsii.String("appSecurityGroupManagement"),
	DefaultSpaceSettings: &DefaultSpaceSettingsProperty{
		ExecutionRole: jsii.String("executionRole"),

		// the properties below are optional
		JupyterServerAppSettings: &JupyterServerAppSettingsProperty{
			DefaultResourceSpec: &ResourceSpecProperty{
				InstanceType: jsii.String("instanceType"),
				LifecycleConfigArn: jsii.String("lifecycleConfigArn"),
				SageMakerImageArn: jsii.String("sageMakerImageArn"),
				SageMakerImageVersionArn: jsii.String("sageMakerImageVersionArn"),
			},
		},
		KernelGatewayAppSettings: &KernelGatewayAppSettingsProperty{
			CustomImages: []interface{}{
				&CustomImageProperty{
					AppImageConfigName: jsii.String("appImageConfigName"),
					ImageName: jsii.String("imageName"),

					// the properties below are optional
					ImageVersionNumber: jsii.Number(123),
				},
			},
			DefaultResourceSpec: &ResourceSpecProperty{
				InstanceType: jsii.String("instanceType"),
				LifecycleConfigArn: jsii.String("lifecycleConfigArn"),
				SageMakerImageArn: jsii.String("sageMakerImageArn"),
				SageMakerImageVersionArn: jsii.String("sageMakerImageVersionArn"),
			},
		},
		SecurityGroups: []*string{
			jsii.String("securityGroups"),
		},
	},
	DomainSettings: &DomainSettingsProperty{
		RStudioServerProDomainSettings: &RStudioServerProDomainSettingsProperty{
			DomainExecutionRoleArn: jsii.String("domainExecutionRoleArn"),

			// the properties below are optional
			DefaultResourceSpec: &ResourceSpecProperty{
				InstanceType: jsii.String("instanceType"),
				LifecycleConfigArn: jsii.String("lifecycleConfigArn"),
				SageMakerImageArn: jsii.String("sageMakerImageArn"),
				SageMakerImageVersionArn: jsii.String("sageMakerImageVersionArn"),
			},
			RStudioConnectUrl: jsii.String("rStudioConnectUrl"),
			RStudioPackageManagerUrl: jsii.String("rStudioPackageManagerUrl"),
		},
		SecurityGroupIds: []*string{
			jsii.String("securityGroupIds"),
		},
	},
	KmsKeyId: jsii.String("kmsKeyId"),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
}

type CfnDomain_CustomImageProperty

type CfnDomain_CustomImageProperty struct {
	// The name of the AppImageConfig.
	AppImageConfigName *string `field:"required" json:"appImageConfigName" yaml:"appImageConfigName"`
	// The name of the CustomImage.
	//
	// Must be unique to your account.
	ImageName *string `field:"required" json:"imageName" yaml:"imageName"`
	// The version number of the CustomImage.
	ImageVersionNumber *float64 `field:"optional" json:"imageVersionNumber" yaml:"imageVersionNumber"`
}

A custom SageMaker image.

For more information, see [Bring your own SageMaker image](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-byoi.html) .

Example:

// 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"

customImageProperty := &CustomImageProperty{
	AppImageConfigName: jsii.String("appImageConfigName"),
	ImageName: jsii.String("imageName"),

	// the properties below are optional
	ImageVersionNumber: jsii.Number(123),
}

type CfnDomain_DefaultSpaceSettingsProperty added in v2.63.0

type CfnDomain_DefaultSpaceSettingsProperty struct {
	// The ARN of the execution role for the space.
	ExecutionRole *string `field:"required" json:"executionRole" yaml:"executionRole"`
	// The JupyterServer app settings.
	JupyterServerAppSettings interface{} `field:"optional" json:"jupyterServerAppSettings" yaml:"jupyterServerAppSettings"`
	// The KernelGateway app settings.
	KernelGatewayAppSettings interface{} `field:"optional" json:"kernelGatewayAppSettings" yaml:"kernelGatewayAppSettings"`
	// The security group IDs for the Amazon Virtual Private Cloud that the space uses for communication.
	SecurityGroups *[]*string `field:"optional" json:"securityGroups" yaml:"securityGroups"`
}

A collection of settings that apply to spaces created in the Domain.

Example:

// 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"

defaultSpaceSettingsProperty := &DefaultSpaceSettingsProperty{
	ExecutionRole: jsii.String("executionRole"),

	// the properties below are optional
	JupyterServerAppSettings: &JupyterServerAppSettingsProperty{
		DefaultResourceSpec: &ResourceSpecProperty{
			InstanceType: jsii.String("instanceType"),
			LifecycleConfigArn: jsii.String("lifecycleConfigArn"),
			SageMakerImageArn: jsii.String("sageMakerImageArn"),
			SageMakerImageVersionArn: jsii.String("sageMakerImageVersionArn"),
		},
	},
	KernelGatewayAppSettings: &KernelGatewayAppSettingsProperty{
		CustomImages: []interface{}{
			&CustomImageProperty{
				AppImageConfigName: jsii.String("appImageConfigName"),
				ImageName: jsii.String("imageName"),

				// the properties below are optional
				ImageVersionNumber: jsii.Number(123),
			},
		},
		DefaultResourceSpec: &ResourceSpecProperty{
			InstanceType: jsii.String("instanceType"),
			LifecycleConfigArn: jsii.String("lifecycleConfigArn"),
			SageMakerImageArn: jsii.String("sageMakerImageArn"),
			SageMakerImageVersionArn: jsii.String("sageMakerImageVersionArn"),
		},
	},
	SecurityGroups: []*string{
		jsii.String("securityGroups"),
	},
}

type CfnDomain_DomainSettingsProperty added in v2.20.0

type CfnDomain_DomainSettingsProperty struct {
	// A collection of settings that configure the `RStudioServerPro` Domain-level app.
	RStudioServerProDomainSettings interface{} `field:"optional" json:"rStudioServerProDomainSettings" yaml:"rStudioServerProDomainSettings"`
	// The security groups for the Amazon Virtual Private Cloud that the `Domain` uses for communication between Domain-level apps and user apps.
	SecurityGroupIds *[]*string `field:"optional" json:"securityGroupIds" yaml:"securityGroupIds"`
}

A collection of settings that apply to the `SageMaker Domain` .

These settings are specified through the `CreateDomain` API call.

Example:

// 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"

domainSettingsProperty := &DomainSettingsProperty{
	RStudioServerProDomainSettings: &RStudioServerProDomainSettingsProperty{
		DomainExecutionRoleArn: jsii.String("domainExecutionRoleArn"),

		// the properties below are optional
		DefaultResourceSpec: &ResourceSpecProperty{
			InstanceType: jsii.String("instanceType"),
			LifecycleConfigArn: jsii.String("lifecycleConfigArn"),
			SageMakerImageArn: jsii.String("sageMakerImageArn"),
			SageMakerImageVersionArn: jsii.String("sageMakerImageVersionArn"),
		},
		RStudioConnectUrl: jsii.String("rStudioConnectUrl"),
		RStudioPackageManagerUrl: jsii.String("rStudioPackageManagerUrl"),
	},
	SecurityGroupIds: []*string{
		jsii.String("securityGroupIds"),
	},
}

type CfnDomain_JupyterServerAppSettingsProperty

type CfnDomain_JupyterServerAppSettingsProperty struct {
	// The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterServer app.
	DefaultResourceSpec interface{} `field:"optional" json:"defaultResourceSpec" yaml:"defaultResourceSpec"`
}

The JupyterServer app settings.

Example:

// 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"

jupyterServerAppSettingsProperty := &JupyterServerAppSettingsProperty{
	DefaultResourceSpec: &ResourceSpecProperty{
		InstanceType: jsii.String("instanceType"),
		LifecycleConfigArn: jsii.String("lifecycleConfigArn"),
		SageMakerImageArn: jsii.String("sageMakerImageArn"),
		SageMakerImageVersionArn: jsii.String("sageMakerImageVersionArn"),
	},
}

type CfnDomain_KernelGatewayAppSettingsProperty

type CfnDomain_KernelGatewayAppSettingsProperty struct {
	// A list of custom SageMaker images that are configured to run as a KernelGateway app.
	CustomImages interface{} `field:"optional" json:"customImages" yaml:"customImages"`
	// The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the KernelGateway app.
	//
	// > The Amazon SageMaker Studio UI does not use the default instance type value set here. The default instance type set here is used when Apps are created using the AWS Command Line Interface or AWS CloudFormation and the instance type parameter value is not passed.
	DefaultResourceSpec interface{} `field:"optional" json:"defaultResourceSpec" yaml:"defaultResourceSpec"`
}

The KernelGateway app settings.

Example:

// 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"

kernelGatewayAppSettingsProperty := &KernelGatewayAppSettingsProperty{
	CustomImages: []interface{}{
		&CustomImageProperty{
			AppImageConfigName: jsii.String("appImageConfigName"),
			ImageName: jsii.String("imageName"),

			// the properties below are optional
			ImageVersionNumber: jsii.Number(123),
		},
	},
	DefaultResourceSpec: &ResourceSpecProperty{
		InstanceType: jsii.String("instanceType"),
		LifecycleConfigArn: jsii.String("lifecycleConfigArn"),
		SageMakerImageArn: jsii.String("sageMakerImageArn"),
		SageMakerImageVersionArn: jsii.String("sageMakerImageVersionArn"),
	},
}

type CfnDomain_RSessionAppSettingsProperty added in v2.45.0

type CfnDomain_RSessionAppSettingsProperty struct {
	// A list of custom SageMaker images that are configured to run as a RSession app.
	CustomImages interface{} `field:"optional" json:"customImages" yaml:"customImages"`
	// Specifies the ARNs of a SageMaker image and SageMaker image version, and the instance type that the version runs on.
	DefaultResourceSpec interface{} `field:"optional" json:"defaultResourceSpec" yaml:"defaultResourceSpec"`
}

A collection of settings that apply to an `RSessionGateway` app.

Example:

// 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"

rSessionAppSettingsProperty := &RSessionAppSettingsProperty{
	CustomImages: []interface{}{
		&CustomImageProperty{
			AppImageConfigName: jsii.String("appImageConfigName"),
			ImageName: jsii.String("imageName"),

			// the properties below are optional
			ImageVersionNumber: jsii.Number(123),
		},
	},
	DefaultResourceSpec: &ResourceSpecProperty{
		InstanceType: jsii.String("instanceType"),
		LifecycleConfigArn: jsii.String("lifecycleConfigArn"),
		SageMakerImageArn: jsii.String("sageMakerImageArn"),
		SageMakerImageVersionArn: jsii.String("sageMakerImageVersionArn"),
	},
}

type CfnDomain_RStudioServerProAppSettingsProperty added in v2.20.0

type CfnDomain_RStudioServerProAppSettingsProperty struct {
	// Indicates whether the current user has access to the `RStudioServerPro` app.
	AccessStatus *string `field:"optional" json:"accessStatus" yaml:"accessStatus"`
	// The level of permissions that the user has within the `RStudioServerPro` app.
	//
	// This value defaults to `User`. The `Admin` value allows the user access to the RStudio Administrative Dashboard.
	UserGroup *string `field:"optional" json:"userGroup" yaml:"userGroup"`
}

A collection of settings that configure user interaction with the `RStudioServerPro` app.

Example:

// 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"

rStudioServerProAppSettingsProperty := &RStudioServerProAppSettingsProperty{
	AccessStatus: jsii.String("accessStatus"),
	UserGroup: jsii.String("userGroup"),
}

type CfnDomain_RStudioServerProDomainSettingsProperty added in v2.20.0

type CfnDomain_RStudioServerProDomainSettingsProperty struct {
	// The ARN of the execution role for the `RStudioServerPro` Domain-level app.
	DomainExecutionRoleArn *string `field:"required" json:"domainExecutionRoleArn" yaml:"domainExecutionRoleArn"`
	// A collection that defines the default `InstanceType` , `SageMakerImageArn` , and `SageMakerImageVersionArn` for the Domain.
	DefaultResourceSpec interface{} `field:"optional" json:"defaultResourceSpec" yaml:"defaultResourceSpec"`
	// A URL pointing to an RStudio Connect server.
	RStudioConnectUrl *string `field:"optional" json:"rStudioConnectUrl" yaml:"rStudioConnectUrl"`
	// A URL pointing to an RStudio Package Manager server.
	RStudioPackageManagerUrl *string `field:"optional" json:"rStudioPackageManagerUrl" yaml:"rStudioPackageManagerUrl"`
}

A collection of settings that configure the `RStudioServerPro` Domain-level app.

Example:

// 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"

rStudioServerProDomainSettingsProperty := &RStudioServerProDomainSettingsProperty{
	DomainExecutionRoleArn: jsii.String("domainExecutionRoleArn"),

	// the properties below are optional
	DefaultResourceSpec: &ResourceSpecProperty{
		InstanceType: jsii.String("instanceType"),
		LifecycleConfigArn: jsii.String("lifecycleConfigArn"),
		SageMakerImageArn: jsii.String("sageMakerImageArn"),
		SageMakerImageVersionArn: jsii.String("sageMakerImageVersionArn"),
	},
	RStudioConnectUrl: jsii.String("rStudioConnectUrl"),
	RStudioPackageManagerUrl: jsii.String("rStudioPackageManagerUrl"),
}

type CfnDomain_ResourceSpecProperty

type CfnDomain_ResourceSpecProperty struct {
	// The instance type that the image version runs on.
	//
	// > *JupyterServer apps* only support the `system` value.
	// >
	// > For *KernelGateway apps* , the `system` value is translated to `ml.t3.medium` . KernelGateway apps also support all other values for available instance types.
	InstanceType *string `field:"optional" json:"instanceType" yaml:"instanceType"`
	// The Amazon Resource Name (ARN) of the Lifecycle Configuration attached to the Resource.
	LifecycleConfigArn *string `field:"optional" json:"lifecycleConfigArn" yaml:"lifecycleConfigArn"`
	// The ARN of the SageMaker image that the image version belongs to.
	SageMakerImageArn *string `field:"optional" json:"sageMakerImageArn" yaml:"sageMakerImageArn"`
	// The ARN of the image version created on the instance.
	SageMakerImageVersionArn *string `field:"optional" json:"sageMakerImageVersionArn" yaml:"sageMakerImageVersionArn"`
}

Specifies the ARN's of a SageMaker image and SageMaker image version, and the instance type that the version runs on.

Example:

// 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"

resourceSpecProperty := &ResourceSpecProperty{
	InstanceType: jsii.String("instanceType"),
	LifecycleConfigArn: jsii.String("lifecycleConfigArn"),
	SageMakerImageArn: jsii.String("sageMakerImageArn"),
	SageMakerImageVersionArn: jsii.String("sageMakerImageVersionArn"),
}

type CfnDomain_SharingSettingsProperty

type CfnDomain_SharingSettingsProperty struct {
	// Whether to include the notebook cell output when sharing the notebook.
	//
	// The default is `Disabled` .
	NotebookOutputOption *string `field:"optional" json:"notebookOutputOption" yaml:"notebookOutputOption"`
	// When `NotebookOutputOption` is `Allowed` , the AWS Key Management Service (KMS) encryption key ID used to encrypt the notebook cell output in the Amazon S3 bucket.
	S3KmsKeyId *string `field:"optional" json:"s3KmsKeyId" yaml:"s3KmsKeyId"`
	// When `NotebookOutputOption` is `Allowed` , the Amazon S3 bucket used to store the shared notebook snapshots.
	S3OutputPath *string `field:"optional" json:"s3OutputPath" yaml:"s3OutputPath"`
}

Specifies options when sharing an Amazon SageMaker Studio notebook.

These settings are specified as part of `DefaultUserSettings` when the [CreateDomain](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateDomain.html) API is called, and as part of `UserSettings` when the [CreateUserProfile](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateUserProfile.html) API is called.

Example:

// 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"

sharingSettingsProperty := &SharingSettingsProperty{
	NotebookOutputOption: jsii.String("notebookOutputOption"),
	S3KmsKeyId: jsii.String("s3KmsKeyId"),
	S3OutputPath: jsii.String("s3OutputPath"),
}

type CfnDomain_UserSettingsProperty

type CfnDomain_UserSettingsProperty struct {
	// The execution role for the user.
	ExecutionRole *string `field:"required" json:"executionRole" yaml:"executionRole"`
	// The Jupyter server's app settings.
	JupyterServerAppSettings interface{} `field:"optional" json:"jupyterServerAppSettings" yaml:"jupyterServerAppSettings"`
	// The kernel gateway app settings.
	KernelGatewayAppSettings interface{} `field:"optional" json:"kernelGatewayAppSettings" yaml:"kernelGatewayAppSettings"`
	// A collection of settings that configure the `RSessionGateway` app.
	RSessionAppSettings interface{} `field:"optional" json:"rSessionAppSettings" yaml:"rSessionAppSettings"`
	// A collection of settings that configure user interaction with the `RStudioServerPro` app.
	RStudioServerProAppSettings interface{} `field:"optional" json:"rStudioServerProAppSettings" yaml:"rStudioServerProAppSettings"`
	// The security groups for the Amazon Virtual Private Cloud (VPC) that Studio uses for communication.
	//
	// Optional when the `CreateDomain.AppNetworkAccessType` parameter is set to `PublicInternetOnly` .
	//
	// Required when the `CreateDomain.AppNetworkAccessType` parameter is set to `VpcOnly` , unless specified as part of the `DefaultUserSettings` for the domain.
	//
	// Amazon SageMaker adds a security group to allow NFS traffic from SageMaker Studio. Therefore, the number of security groups that you can specify is one less than the maximum number shown.
	SecurityGroups *[]*string `field:"optional" json:"securityGroups" yaml:"securityGroups"`
	// Specifies options for sharing SageMaker Studio notebooks.
	SharingSettings interface{} `field:"optional" json:"sharingSettings" yaml:"sharingSettings"`
}

A collection of settings that apply to users of Amazon SageMaker Studio.

These settings are specified when the [CreateUserProfile](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateUserProfile.html) API is called, and as `DefaultUserSettings` when the [CreateDomain](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateDomain.html) API is called.

`SecurityGroups` is aggregated when specified in both calls. For all other settings in `UserSettings` , the values specified in `CreateUserProfile` take precedence over those specified in `CreateDomain` .

Example:

// 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"

userSettingsProperty := &UserSettingsProperty{
	ExecutionRole: jsii.String("executionRole"),

	// the properties below are optional
	JupyterServerAppSettings: &JupyterServerAppSettingsProperty{
		DefaultResourceSpec: &ResourceSpecProperty{
			InstanceType: jsii.String("instanceType"),
			LifecycleConfigArn: jsii.String("lifecycleConfigArn"),
			SageMakerImageArn: jsii.String("sageMakerImageArn"),
			SageMakerImageVersionArn: jsii.String("sageMakerImageVersionArn"),
		},
	},
	KernelGatewayAppSettings: &KernelGatewayAppSettingsProperty{
		CustomImages: []interface{}{
			&CustomImageProperty{
				AppImageConfigName: jsii.String("appImageConfigName"),
				ImageName: jsii.String("imageName"),

				// the properties below are optional
				ImageVersionNumber: jsii.Number(123),
			},
		},
		DefaultResourceSpec: &ResourceSpecProperty{
			InstanceType: jsii.String("instanceType"),
			LifecycleConfigArn: jsii.String("lifecycleConfigArn"),
			SageMakerImageArn: jsii.String("sageMakerImageArn"),
			SageMakerImageVersionArn: jsii.String("sageMakerImageVersionArn"),
		},
	},
	RSessionAppSettings: &RSessionAppSettingsProperty{
		CustomImages: []interface{}{
			&CustomImageProperty{
				AppImageConfigName: jsii.String("appImageConfigName"),
				ImageName: jsii.String("imageName"),

				// the properties below are optional
				ImageVersionNumber: jsii.Number(123),
			},
		},
		DefaultResourceSpec: &ResourceSpecProperty{
			InstanceType: jsii.String("instanceType"),
			LifecycleConfigArn: jsii.String("lifecycleConfigArn"),
			SageMakerImageArn: jsii.String("sageMakerImageArn"),
			SageMakerImageVersionArn: jsii.String("sageMakerImageVersionArn"),
		},
	},
	RStudioServerProAppSettings: &RStudioServerProAppSettingsProperty{
		AccessStatus: jsii.String("accessStatus"),
		UserGroup: jsii.String("userGroup"),
	},
	SecurityGroups: []*string{
		jsii.String("securityGroups"),
	},
	SharingSettings: &SharingSettingsProperty{
		NotebookOutputOption: jsii.String("notebookOutputOption"),
		S3KmsKeyId: jsii.String("s3KmsKeyId"),
		S3OutputPath: jsii.String("s3OutputPath"),
	},
}

type CfnEndpoint

type CfnEndpoint interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// The name of the endpoint, such as `MyEndpoint` .
	AttrEndpointName() *string
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// The deployment configuration for an endpoint, which contains the desired deployment strategy and rollback configurations.
	DeploymentConfig() interface{}
	SetDeploymentConfig(val interface{})
	// The name of the [AWS::SageMaker::EndpointConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpointconfig.html) resource that specifies the configuration for the endpoint. For more information, see [CreateEndpointConfig](https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateEndpointConfig.html) .
	EndpointConfigName() *string
	SetEndpointConfigName(val *string)
	// The name of the endpoint.The name must be unique within an AWS Region in your AWS account. The name is case-insensitive in `CreateEndpoint` , but the case is preserved and must be matched in [](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_runtime_InvokeEndpoint.html) .
	EndpointName() *string
	SetEndpointName(val *string)
	// When you are updating endpoint resources with [RetainAllVariantProperties](https://docs.aws.amazon.com/sagemaker/latest/dg/API_UpdateEndpoint.html#SageMaker-UpdateEndpoint-request-RetainAllVariantProperties) whose value is set to `true` , `ExcludeRetainedVariantProperties` specifies the list of type [VariantProperty](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpoint-variantproperty.html) to override with the values provided by `EndpointConfig` . If you don't specify a value for `ExcludeAllVariantProperties` , no variant properties are overridden. Don't use this property when creating new endpoint resources or when `RetainAllVariantProperties` is set to `false` .
	ExcludeRetainedVariantProperties() interface{}
	SetExcludeRetainedVariantProperties(val interface{})
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The tree node.
	Node() constructs.Node
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// When updating endpoint resources, enables or disables the retention of variant properties, such as the instance count or the variant weight.
	//
	// To retain the variant properties of an endpoint when updating it, set `RetainAllVariantProperties` to `true` . To use the variant properties specified in a new `EndpointConfig` call when updating an endpoint, set `RetainAllVariantProperties` to `false` . Use this property only when updating endpoint resources, not when creating new endpoint resources.
	RetainAllVariantProperties() interface{}
	SetRetainAllVariantProperties(val interface{})
	// Specifies whether to reuse the last deployment configuration.
	//
	// The default value is false (the configuration is not reused).
	RetainDeploymentConfig() interface{}
	SetRetainDeploymentConfig(val interface{})
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// A list of key-value pairs to apply to this resource.
	//
	// For more information, see [Resource Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) and [Using Cost Allocation Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what) in the *AWS Billing and Cost Management User Guide* .
	Tags() awscdk.TagManager
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// 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`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::SageMaker::Endpoint`.

Use the `AWS::SageMaker::Endpoint` resource to create an endpoint using the specified configuration in the request. Amazon SageMaker uses the endpoint to provision resources and deploy models. You create the endpoint configuration with the [AWS::SageMaker::EndpointConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpointconfig.html) resource. For more information, see [Deploy a Model on Amazon SageMaker Hosting Services](https://docs.aws.amazon.com/sagemaker/latest/dg/how-it-works-hosting.html) in the *Amazon SageMaker Developer Guide* .

Example:

// 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"

cfnEndpoint := awscdk.Aws_sagemaker.NewCfnEndpoint(this, jsii.String("MyCfnEndpoint"), &CfnEndpointProps{
	EndpointConfigName: jsii.String("endpointConfigName"),

	// the properties below are optional
	DeploymentConfig: &DeploymentConfigProperty{
		BlueGreenUpdatePolicy: &BlueGreenUpdatePolicyProperty{
			TrafficRoutingConfiguration: &TrafficRoutingConfigProperty{
				Type: jsii.String("type"),

				// the properties below are optional
				CanarySize: &CapacitySizeProperty{
					Type: jsii.String("type"),
					Value: jsii.Number(123),
				},
				LinearStepSize: &CapacitySizeProperty{
					Type: jsii.String("type"),
					Value: jsii.Number(123),
				},
				WaitIntervalInSeconds: jsii.Number(123),
			},

			// the properties below are optional
			MaximumExecutionTimeoutInSeconds: jsii.Number(123),
			TerminationWaitInSeconds: jsii.Number(123),
		},

		// the properties below are optional
		AutoRollbackConfiguration: &AutoRollbackConfigProperty{
			Alarms: []interface{}{
				&AlarmProperty{
					AlarmName: jsii.String("alarmName"),
				},
			},
		},
	},
	EndpointName: jsii.String("endpointName"),
	ExcludeRetainedVariantProperties: []interface{}{
		&VariantPropertyProperty{
			VariantPropertyType: jsii.String("variantPropertyType"),
		},
	},
	RetainAllVariantProperties: jsii.Boolean(false),
	RetainDeploymentConfig: jsii.Boolean(false),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
})

func NewCfnEndpoint

func NewCfnEndpoint(scope constructs.Construct, id *string, props *CfnEndpointProps) CfnEndpoint

Create a new `AWS::SageMaker::Endpoint`.

type CfnEndpointConfig

type CfnEndpointConfig interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// Specifies configuration for how an endpoint performs asynchronous inference.
	AsyncInferenceConfig() interface{}
	SetAsyncInferenceConfig(val interface{})
	// The name of the endpoint configuration, such as `MyEndpointConfiguration` .
	AttrEndpointConfigName() *string
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// Specifies how to capture endpoint data for model monitor.
	//
	// The data capture configuration applies to all production variants hosted at the endpoint.
	DataCaptureConfig() interface{}
	SetDataCaptureConfig(val interface{})
	// The name of the endpoint configuration.
	EndpointConfigName() *string
	SetEndpointConfigName(val *string)
	// `AWS::SageMaker::EndpointConfig.ExplainerConfig`.
	ExplainerConfig() interface{}
	SetExplainerConfig(val interface{})
	// The Amazon Resource Name (ARN) of an AWS Key Management Service key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance that hosts the endpoint.
	//
	// - 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](https://docs.aws.amazon.com//kms/latest/developerguide/key-policies.html)
	//
	// > 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 `KmsKeyId` when using an instance type with local storage. If any of the models that you specify in the `ProductionVariants` parameter use nitro-based instances with local storage, do not specify a value for the `KmsKeyId` parameter. If you specify a value for `KmsKeyId` when using any nitro-based instances with local storage, the call to `CreateEndpointConfig` fails.
	// >
	// > For a list of instance types that support local instance storage, see [Instance Store Volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes) .
	// >
	// > For more information about local instance storage encryption, see [SSD Instance Store Volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ssd-instance-store.html) .
	KmsKeyId() *string
	SetKmsKeyId(val *string)
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The tree node.
	Node() constructs.Node
	// A list of `ProductionVariant` objects, one for each model that you want to host at this endpoint.
	ProductionVariants() interface{}
	SetProductionVariants(val interface{})
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// Array of `ProductionVariant` objects.
	//
	// 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` .
	ShadowProductionVariants() interface{}
	SetShadowProductionVariants(val interface{})
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// A list of key-value pairs to apply to this resource.
	//
	// For more information, see [Resource Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) and [Using Cost Allocation Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what) .
	Tags() awscdk.TagManager
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// 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`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::SageMaker::EndpointConfig`.

The `AWS::SageMaker::EndpointConfig` resource creates a configuration for an Amazon SageMaker endpoint. For more information, see [CreateEndpointConfig](https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateEndpointConfig.html) in the *SageMaker Developer Guide* .

Example:

// 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"

cfnEndpointConfig := awscdk.Aws_sagemaker.NewCfnEndpointConfig(this, jsii.String("MyCfnEndpointConfig"), &CfnEndpointConfigProps{
	ProductionVariants: []interface{}{
		&ProductionVariantProperty{
			InitialVariantWeight: jsii.Number(123),
			ModelName: jsii.String("modelName"),
			VariantName: jsii.String("variantName"),

			// the properties below are optional
			AcceleratorType: jsii.String("acceleratorType"),
			ContainerStartupHealthCheckTimeoutInSeconds: jsii.Number(123),
			EnableSsmAccess: jsii.Boolean(false),
			InitialInstanceCount: jsii.Number(123),
			InstanceType: jsii.String("instanceType"),
			ModelDataDownloadTimeoutInSeconds: jsii.Number(123),
			ServerlessConfig: &ServerlessConfigProperty{
				MaxConcurrency: jsii.Number(123),
				MemorySizeInMb: jsii.Number(123),

				// the properties below are optional
				ProvisionedConcurrency: 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"),
	},
	EndpointConfigName: jsii.String("endpointConfigName"),
	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"),
	ShadowProductionVariants: []interface{}{
		&ProductionVariantProperty{
			InitialVariantWeight: jsii.Number(123),
			ModelName: jsii.String("modelName"),
			VariantName: jsii.String("variantName"),

			// the properties below are optional
			AcceleratorType: jsii.String("acceleratorType"),
			ContainerStartupHealthCheckTimeoutInSeconds: jsii.Number(123),
			EnableSsmAccess: jsii.Boolean(false),
			InitialInstanceCount: jsii.Number(123),
			InstanceType: jsii.String("instanceType"),
			ModelDataDownloadTimeoutInSeconds: jsii.Number(123),
			ServerlessConfig: &ServerlessConfigProperty{
				MaxConcurrency: jsii.Number(123),
				MemorySizeInMb: jsii.Number(123),

				// the properties below are optional
				ProvisionedConcurrency: jsii.Number(123),
			},
			VolumeSizeInGb: jsii.Number(123),
		},
	},
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
})

func NewCfnEndpointConfig

func NewCfnEndpointConfig(scope constructs.Construct, id *string, props *CfnEndpointConfigProps) CfnEndpointConfig

Create a new `AWS::SageMaker::EndpointConfig`.

type CfnEndpointConfigProps

type CfnEndpointConfigProps struct {
	// A list of `ProductionVariant` objects, one for each model that you want to host at this endpoint.
	ProductionVariants interface{} `field:"required" json:"productionVariants" yaml:"productionVariants"`
	// Specifies configuration for how an endpoint performs asynchronous inference.
	AsyncInferenceConfig interface{} `field:"optional" json:"asyncInferenceConfig" yaml:"asyncInferenceConfig"`
	// Specifies how to capture endpoint data for model monitor.
	//
	// The data capture configuration applies to all production variants hosted at the endpoint.
	DataCaptureConfig interface{} `field:"optional" json:"dataCaptureConfig" yaml:"dataCaptureConfig"`
	// The name of the endpoint configuration.
	EndpointConfigName *string `field:"optional" json:"endpointConfigName" yaml:"endpointConfigName"`
	// `AWS::SageMaker::EndpointConfig.ExplainerConfig`.
	ExplainerConfig interface{} `field:"optional" json:"explainerConfig" yaml:"explainerConfig"`
	// The Amazon Resource Name (ARN) of an AWS Key Management Service key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance that hosts the endpoint.
	//
	// - 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](https://docs.aws.amazon.com//kms/latest/developerguide/key-policies.html)
	//
	// > 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 `KmsKeyId` when using an instance type with local storage. If any of the models that you specify in the `ProductionVariants` parameter use nitro-based instances with local storage, do not specify a value for the `KmsKeyId` parameter. If you specify a value for `KmsKeyId` when using any nitro-based instances with local storage, the call to `CreateEndpointConfig` fails.
	// >
	// > For a list of instance types that support local instance storage, see [Instance Store Volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes) .
	// >
	// > For more information about local instance storage encryption, see [SSD Instance Store Volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ssd-instance-store.html) .
	KmsKeyId *string `field:"optional" json:"kmsKeyId" yaml:"kmsKeyId"`
	// Array of `ProductionVariant` objects.
	//
	// 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` .
	ShadowProductionVariants interface{} `field:"optional" json:"shadowProductionVariants" yaml:"shadowProductionVariants"`
	// A list of key-value pairs to apply to this resource.
	//
	// For more information, see [Resource Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) and [Using Cost Allocation Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what) .
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
}

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 "github.com/aws/aws-cdk-go/awscdk"

cfnEndpointConfigProps := &CfnEndpointConfigProps{
	ProductionVariants: []interface{}{
		&ProductionVariantProperty{
			InitialVariantWeight: jsii.Number(123),
			ModelName: jsii.String("modelName"),
			VariantName: jsii.String("variantName"),

			// the properties below are optional
			AcceleratorType: jsii.String("acceleratorType"),
			ContainerStartupHealthCheckTimeoutInSeconds: jsii.Number(123),
			EnableSsmAccess: jsii.Boolean(false),
			InitialInstanceCount: jsii.Number(123),
			InstanceType: jsii.String("instanceType"),
			ModelDataDownloadTimeoutInSeconds: jsii.Number(123),
			ServerlessConfig: &ServerlessConfigProperty{
				MaxConcurrency: jsii.Number(123),
				MemorySizeInMb: jsii.Number(123),

				// the properties below are optional
				ProvisionedConcurrency: 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"),
	},
	EndpointConfigName: jsii.String("endpointConfigName"),
	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"),
	ShadowProductionVariants: []interface{}{
		&ProductionVariantProperty{
			InitialVariantWeight: jsii.Number(123),
			ModelName: jsii.String("modelName"),
			VariantName: jsii.String("variantName"),

			// the properties below are optional
			AcceleratorType: jsii.String("acceleratorType"),
			ContainerStartupHealthCheckTimeoutInSeconds: jsii.Number(123),
			EnableSsmAccess: jsii.Boolean(false),
			InitialInstanceCount: jsii.Number(123),
			InstanceType: jsii.String("instanceType"),
			ModelDataDownloadTimeoutInSeconds: jsii.Number(123),
			ServerlessConfig: &ServerlessConfigProperty{
				MaxConcurrency: jsii.Number(123),
				MemorySizeInMb: jsii.Number(123),

				// the properties below are optional
				ProvisionedConcurrency: jsii.Number(123),
			},
			VolumeSizeInGb: jsii.Number(123),
		},
	},
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
}

type CfnEndpointConfig_AsyncInferenceClientConfigProperty

type CfnEndpointConfig_AsyncInferenceClientConfigProperty struct {
	// The maximum number of concurrent requests sent by the SageMaker client to the model container.
	//
	// If no value is provided, SageMaker will choose an optimal value for you.
	MaxConcurrentInvocationsPerInstance *float64 `field:"optional" json:"maxConcurrentInvocationsPerInstance" yaml:"maxConcurrentInvocationsPerInstance"`
}

Configures the behavior of the client used by SageMaker to interact with the model container during asynchronous inference.

Example:

// 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"

asyncInferenceClientConfigProperty := &AsyncInferenceClientConfigProperty{
	MaxConcurrentInvocationsPerInstance: jsii.Number(123),
}

type CfnEndpointConfig_AsyncInferenceConfigProperty

type CfnEndpointConfig_AsyncInferenceConfigProperty struct {
	// Specifies the configuration for asynchronous inference invocation outputs.
	OutputConfig interface{} `field:"required" json:"outputConfig" yaml:"outputConfig"`
	// Configures the behavior of the client used by SageMaker to interact with the model container during asynchronous inference.
	ClientConfig interface{} `field:"optional" json:"clientConfig" yaml:"clientConfig"`
}

Specifies configuration for how an endpoint performs asynchronous inference.

Example:

// 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"

asyncInferenceConfigProperty := &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),
	},
}

type CfnEndpointConfig_AsyncInferenceNotificationConfigProperty

type CfnEndpointConfig_AsyncInferenceNotificationConfigProperty struct {
	// Amazon SNS topic to post a notification to when an inference fails.
	//
	// If no topic is provided, no notification is sent on failure.
	ErrorTopic *string `field:"optional" json:"errorTopic" yaml:"errorTopic"`
	// `CfnEndpointConfig.AsyncInferenceNotificationConfigProperty.IncludeInferenceResponseIn`.
	IncludeInferenceResponseIn *[]*string `field:"optional" json:"includeInferenceResponseIn" yaml:"includeInferenceResponseIn"`
	// Amazon SNS topic to post a notification to when an inference completes successfully.
	//
	// If no topic is provided, no notification is sent on success.
	SuccessTopic *string `field:"optional" json:"successTopic" yaml:"successTopic"`
}

Specifies the configuration for notifications of inference results for asynchronous inference.

Example:

// 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"

asyncInferenceNotificationConfigProperty := &AsyncInferenceNotificationConfigProperty{
	ErrorTopic: jsii.String("errorTopic"),
	IncludeInferenceResponseIn: []*string{
		jsii.String("includeInferenceResponseIn"),
	},
	SuccessTopic: jsii.String("successTopic"),
}

type CfnEndpointConfig_AsyncInferenceOutputConfigProperty

type CfnEndpointConfig_AsyncInferenceOutputConfigProperty struct {
	// The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt the asynchronous inference output in Amazon S3.
	KmsKeyId *string `field:"optional" json:"kmsKeyId" yaml:"kmsKeyId"`
	// Specifies the configuration for notifications of inference results for asynchronous inference.
	NotificationConfig interface{} `field:"optional" json:"notificationConfig" yaml:"notificationConfig"`
	// `CfnEndpointConfig.AsyncInferenceOutputConfigProperty.S3FailurePath`.
	S3FailurePath *string `field:"optional" json:"s3FailurePath" yaml:"s3FailurePath"`
	// The Amazon S3 location to upload inference responses to.
	S3OutputPath *string `field:"optional" json:"s3OutputPath" yaml:"s3OutputPath"`
}

Specifies the configuration for asynchronous inference invocation outputs.

Example:

// 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"

asyncInferenceOutputConfigProperty := &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"),
}

type CfnEndpointConfig_CaptureContentTypeHeaderProperty

type CfnEndpointConfig_CaptureContentTypeHeaderProperty struct {
	// A list of the CSV content types of the data that the endpoint captures.
	//
	// For the endpoint to capture the data, you must also specify the content type when you invoke the endpoint.
	CsvContentTypes *[]*string `field:"optional" json:"csvContentTypes" yaml:"csvContentTypes"`
	// A list of the JSON content types of the data that the endpoint captures.
	//
	// For the endpoint to capture the data, you must also specify the content type when you invoke the endpoint.
	JsonContentTypes *[]*string `field:"optional" json:"jsonContentTypes" yaml:"jsonContentTypes"`
}

Specifies the JSON and CSV content types of the data that the endpoint captures.

Example:

// 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"

captureContentTypeHeaderProperty := &CaptureContentTypeHeaderProperty{
	CsvContentTypes: []*string{
		jsii.String("csvContentTypes"),
	},
	JsonContentTypes: []*string{
		jsii.String("jsonContentTypes"),
	},
}

type CfnEndpointConfig_CaptureOptionProperty

type CfnEndpointConfig_CaptureOptionProperty struct {
	// Specifies whether the endpoint captures input data or output data.
	CaptureMode *string `field:"required" json:"captureMode" yaml:"captureMode"`
}

Specifies whether the endpoint captures input data or output data.

Example:

// 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"

captureOptionProperty := &CaptureOptionProperty{
	CaptureMode: jsii.String("captureMode"),
}

type CfnEndpointConfig_ClarifyExplainerConfigProperty added in v2.45.0

type CfnEndpointConfig_ClarifyExplainerConfigProperty struct {
	// `CfnEndpointConfig.ClarifyExplainerConfigProperty.ShapConfig`.
	ShapConfig interface{} `field:"required" json:"shapConfig" yaml:"shapConfig"`
	// `CfnEndpointConfig.ClarifyExplainerConfigProperty.EnableExplanations`.
	EnableExplanations *string `field:"optional" json:"enableExplanations" yaml:"enableExplanations"`
	// `CfnEndpointConfig.ClarifyExplainerConfigProperty.InferenceConfig`.
	InferenceConfig interface{} `field:"optional" json:"inferenceConfig" yaml:"inferenceConfig"`
}

Example:

// 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"

clarifyExplainerConfigProperty := &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),
	},
}

type CfnEndpointConfig_ClarifyInferenceConfigProperty added in v2.45.0

type CfnEndpointConfig_ClarifyInferenceConfigProperty struct {
	// `CfnEndpointConfig.ClarifyInferenceConfigProperty.ContentTemplate`.
	ContentTemplate *string `field:"optional" json:"contentTemplate" yaml:"contentTemplate"`
	// `CfnEndpointConfig.ClarifyInferenceConfigProperty.FeatureHeaders`.
	FeatureHeaders *[]*string `field:"optional" json:"featureHeaders" yaml:"featureHeaders"`
	// `CfnEndpointConfig.ClarifyInferenceConfigProperty.FeaturesAttribute`.
	FeaturesAttribute *string `field:"optional" json:"featuresAttribute" yaml:"featuresAttribute"`
	// `CfnEndpointConfig.ClarifyInferenceConfigProperty.FeatureTypes`.
	FeatureTypes *[]*string `field:"optional" json:"featureTypes" yaml:"featureTypes"`
	// `CfnEndpointConfig.ClarifyInferenceConfigProperty.LabelAttribute`.
	LabelAttribute *string `field:"optional" json:"labelAttribute" yaml:"labelAttribute"`
	// `CfnEndpointConfig.ClarifyInferenceConfigProperty.LabelHeaders`.
	LabelHeaders *[]*string `field:"optional" json:"labelHeaders" yaml:"labelHeaders"`
	// `CfnEndpointConfig.ClarifyInferenceConfigProperty.LabelIndex`.
	LabelIndex *float64 `field:"optional" json:"labelIndex" yaml:"labelIndex"`
	// `CfnEndpointConfig.ClarifyInferenceConfigProperty.MaxPayloadInMB`.
	MaxPayloadInMb *float64 `field:"optional" json:"maxPayloadInMb" yaml:"maxPayloadInMb"`
	// `CfnEndpointConfig.ClarifyInferenceConfigProperty.MaxRecordCount`.
	MaxRecordCount *float64 `field:"optional" json:"maxRecordCount" yaml:"maxRecordCount"`
	// `CfnEndpointConfig.ClarifyInferenceConfigProperty.ProbabilityAttribute`.
	ProbabilityAttribute *string `field:"optional" json:"probabilityAttribute" yaml:"probabilityAttribute"`
	// `CfnEndpointConfig.ClarifyInferenceConfigProperty.ProbabilityIndex`.
	ProbabilityIndex *float64 `field:"optional" json:"probabilityIndex" yaml:"probabilityIndex"`
}

Example:

// 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"

clarifyInferenceConfigProperty := &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),
}

type CfnEndpointConfig_ClarifyShapBaselineConfigProperty added in v2.45.0

type CfnEndpointConfig_ClarifyShapBaselineConfigProperty struct {
	// `CfnEndpointConfig.ClarifyShapBaselineConfigProperty.MimeType`.
	MimeType *string `field:"optional" json:"mimeType" yaml:"mimeType"`
	// `CfnEndpointConfig.ClarifyShapBaselineConfigProperty.ShapBaseline`.
	ShapBaseline *string `field:"optional" json:"shapBaseline" yaml:"shapBaseline"`
	// `CfnEndpointConfig.ClarifyShapBaselineConfigProperty.ShapBaselineUri`.
	ShapBaselineUri *string `field:"optional" json:"shapBaselineUri" yaml:"shapBaselineUri"`
}

Example:

// 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"

clarifyShapBaselineConfigProperty := &ClarifyShapBaselineConfigProperty{
	MimeType: jsii.String("mimeType"),
	ShapBaseline: jsii.String("shapBaseline"),
	ShapBaselineUri: jsii.String("shapBaselineUri"),
}

type CfnEndpointConfig_ClarifyShapConfigProperty added in v2.45.0

type CfnEndpointConfig_ClarifyShapConfigProperty struct {
	// `CfnEndpointConfig.ClarifyShapConfigProperty.ShapBaselineConfig`.
	ShapBaselineConfig interface{} `field:"required" json:"shapBaselineConfig" yaml:"shapBaselineConfig"`
	// `CfnEndpointConfig.ClarifyShapConfigProperty.NumberOfSamples`.
	NumberOfSamples *float64 `field:"optional" json:"numberOfSamples" yaml:"numberOfSamples"`
	// `CfnEndpointConfig.ClarifyShapConfigProperty.Seed`.
	Seed *float64 `field:"optional" json:"seed" yaml:"seed"`
	// `CfnEndpointConfig.ClarifyShapConfigProperty.TextConfig`.
	TextConfig interface{} `field:"optional" json:"textConfig" yaml:"textConfig"`
	// `CfnEndpointConfig.ClarifyShapConfigProperty.UseLogit`.
	UseLogit interface{} `field:"optional" json:"useLogit" yaml:"useLogit"`
}

Example:

// 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"

clarifyShapConfigProperty := &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),
}

type CfnEndpointConfig_ClarifyTextConfigProperty added in v2.45.0

type CfnEndpointConfig_ClarifyTextConfigProperty struct {
	// `CfnEndpointConfig.ClarifyTextConfigProperty.Granularity`.
	Granularity *string `field:"required" json:"granularity" yaml:"granularity"`
	// `CfnEndpointConfig.ClarifyTextConfigProperty.Language`.
	Language *string `field:"required" json:"language" yaml:"language"`
}

Example:

// 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"

clarifyTextConfigProperty := &ClarifyTextConfigProperty{
	Granularity: jsii.String("granularity"),
	Language: jsii.String("language"),
}

type CfnEndpointConfig_DataCaptureConfigProperty

type CfnEndpointConfig_DataCaptureConfigProperty struct {
	// Specifies whether the endpoint captures input data to your model, output data from your model, or both.
	CaptureOptions interface{} `field:"required" json:"captureOptions" yaml:"captureOptions"`
	// The S3 bucket where model monitor stores captured data.
	DestinationS3Uri *string `field:"required" json:"destinationS3Uri" yaml:"destinationS3Uri"`
	// The percentage of data to capture.
	InitialSamplingPercentage *float64 `field:"required" json:"initialSamplingPercentage" yaml:"initialSamplingPercentage"`
	// A list of the JSON and CSV content type that the endpoint captures.
	CaptureContentTypeHeader interface{} `field:"optional" json:"captureContentTypeHeader" yaml:"captureContentTypeHeader"`
	// Set to `True` to enable data capture.
	EnableCapture interface{} `field:"optional" json:"enableCapture" yaml:"enableCapture"`
	// The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt the captured data at rest using Amazon S3 server-side encryption.
	//
	// The KmsKeyId can be any of the following formats: 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 If you don't provide a KMS key ID, Amazon SageMaker uses the default KMS key for Amazon S3 for your role's account. For more information, see KMS-Managed Encryption Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html) in the Amazon Simple Storage Service Developer Guide. The KMS key policy must grant permission to the IAM role that you specify in your CreateModel (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html) request. For more information, see Using Key Policies in AWS KMS (http://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) in the AWS Key Management Service Developer Guide.
	KmsKeyId *string `field:"optional" json:"kmsKeyId" yaml:"kmsKeyId"`
}

Specifies the configuration of your endpoint for model monitor data capture.

Example:

// 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"

dataCaptureConfigProperty := &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"),
}

type CfnEndpointConfig_ExplainerConfigProperty added in v2.46.0

type CfnEndpointConfig_ExplainerConfigProperty struct {
	// `CfnEndpointConfig.ExplainerConfigProperty.ClarifyExplainerConfig`.
	ClarifyExplainerConfig interface{} `field:"optional" json:"clarifyExplainerConfig" yaml:"clarifyExplainerConfig"`
}

Example:

// 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"

explainerConfigProperty := &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),
		},
	},
}

type CfnEndpointConfig_ProductionVariantProperty

type CfnEndpointConfig_ProductionVariantProperty struct {
	// Determines initial traffic distribution among all of the models that you specify in the endpoint configuration.
	//
	// The traffic to a production variant is determined by the ratio of the `VariantWeight` to the sum of all `VariantWeight` values across all ProductionVariants. If unspecified, it defaults to 1.0.
	InitialVariantWeight *float64 `field:"required" json:"initialVariantWeight" yaml:"initialVariantWeight"`
	// The name of the model that you want to host.
	//
	// This is the name that you specified when creating the model.
	ModelName *string `field:"required" json:"modelName" yaml:"modelName"`
	// The name of the production variant.
	VariantName *string `field:"required" json:"variantName" yaml:"variantName"`
	// The size of the Elastic Inference (EI) instance to use for the production variant.
	//
	// EI instances provide on-demand GPU computing for inference. For more information, see [Using Elastic Inference in Amazon SageMaker](https://docs.aws.amazon.com/sagemaker/latest/dg/ei.html) . For more information, see [Using Elastic Inference in Amazon SageMaker](https://docs.aws.amazon.com/sagemaker/latest/dg/ei.html) .
	AcceleratorType *string `field:"optional" json:"acceleratorType" yaml:"acceleratorType"`
	// `CfnEndpointConfig.ProductionVariantProperty.ContainerStartupHealthCheckTimeoutInSeconds`.
	ContainerStartupHealthCheckTimeoutInSeconds *float64 `field:"optional" json:"containerStartupHealthCheckTimeoutInSeconds" yaml:"containerStartupHealthCheckTimeoutInSeconds"`
	// `CfnEndpointConfig.ProductionVariantProperty.EnableSSMAccess`.
	EnableSsmAccess interface{} `field:"optional" json:"enableSsmAccess" yaml:"enableSsmAccess"`
	// Number of instances to launch initially.
	InitialInstanceCount *float64 `field:"optional" json:"initialInstanceCount" yaml:"initialInstanceCount"`
	// The ML compute instance type.
	InstanceType *string `field:"optional" json:"instanceType" yaml:"instanceType"`
	// `CfnEndpointConfig.ProductionVariantProperty.ModelDataDownloadTimeoutInSeconds`.
	ModelDataDownloadTimeoutInSeconds *float64 `field:"optional" json:"modelDataDownloadTimeoutInSeconds" yaml:"modelDataDownloadTimeoutInSeconds"`
	// The serverless configuration for an endpoint.
	//
	// Specifies a serverless endpoint configuration instead of an instance-based endpoint configuration.
	ServerlessConfig interface{} `field:"optional" json:"serverlessConfig" yaml:"serverlessConfig"`
	// `CfnEndpointConfig.ProductionVariantProperty.VolumeSizeInGB`.
	VolumeSizeInGb *float64 `field:"optional" json:"volumeSizeInGb" yaml:"volumeSizeInGb"`
}

Specifies a model that you want to host and the resources to deploy for hosting it.

If you are deploying multiple models, tell Amazon SageMaker how to distribute traffic among the models by specifying the `InitialVariantWeight` objects.

Example:

// 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"

productionVariantProperty := &ProductionVariantProperty{
	InitialVariantWeight: jsii.Number(123),
	ModelName: jsii.String("modelName"),
	VariantName: jsii.String("variantName"),

	// the properties below are optional
	AcceleratorType: jsii.String("acceleratorType"),
	ContainerStartupHealthCheckTimeoutInSeconds: jsii.Number(123),
	EnableSsmAccess: jsii.Boolean(false),
	InitialInstanceCount: jsii.Number(123),
	InstanceType: jsii.String("instanceType"),
	ModelDataDownloadTimeoutInSeconds: jsii.Number(123),
	ServerlessConfig: &ServerlessConfigProperty{
		MaxConcurrency: jsii.Number(123),
		MemorySizeInMb: jsii.Number(123),

		// the properties below are optional
		ProvisionedConcurrency: jsii.Number(123),
	},
	VolumeSizeInGb: jsii.Number(123),
}

type CfnEndpointConfig_ServerlessConfigProperty added in v2.2.0

type CfnEndpointConfig_ServerlessConfigProperty struct {
	// The maximum number of concurrent invocations your serverless endpoint can process.
	MaxConcurrency *float64 `field:"required" json:"maxConcurrency" yaml:"maxConcurrency"`
	// The memory size of your serverless endpoint.
	//
	// Valid values are in 1 GB increments: 1024 MB, 2048 MB, 3072 MB, 4096 MB, 5120 MB, or 6144 MB.
	MemorySizeInMb *float64 `field:"required" json:"memorySizeInMb" yaml:"memorySizeInMb"`
	// `CfnEndpointConfig.ServerlessConfigProperty.ProvisionedConcurrency`.
	ProvisionedConcurrency *float64 `field:"optional" json:"provisionedConcurrency" yaml:"provisionedConcurrency"`
}

Specifies the serverless configuration for an endpoint variant.

Example:

// 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"

serverlessConfigProperty := &ServerlessConfigProperty{
	MaxConcurrency: jsii.Number(123),
	MemorySizeInMb: jsii.Number(123),

	// the properties below are optional
	ProvisionedConcurrency: jsii.Number(123),
}

type CfnEndpointProps

type CfnEndpointProps struct {
	// The name of the [AWS::SageMaker::EndpointConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpointconfig.html) resource that specifies the configuration for the endpoint. For more information, see [CreateEndpointConfig](https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateEndpointConfig.html) .
	EndpointConfigName *string `field:"required" json:"endpointConfigName" yaml:"endpointConfigName"`
	// The deployment configuration for an endpoint, which contains the desired deployment strategy and rollback configurations.
	DeploymentConfig interface{} `field:"optional" json:"deploymentConfig" yaml:"deploymentConfig"`
	// The name of the endpoint.The name must be unique within an AWS Region in your AWS account. The name is case-insensitive in `CreateEndpoint` , but the case is preserved and must be matched in [](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_runtime_InvokeEndpoint.html) .
	EndpointName *string `field:"optional" json:"endpointName" yaml:"endpointName"`
	// When you are updating endpoint resources with [RetainAllVariantProperties](https://docs.aws.amazon.com/sagemaker/latest/dg/API_UpdateEndpoint.html#SageMaker-UpdateEndpoint-request-RetainAllVariantProperties) whose value is set to `true` , `ExcludeRetainedVariantProperties` specifies the list of type [VariantProperty](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpoint-variantproperty.html) to override with the values provided by `EndpointConfig` . If you don't specify a value for `ExcludeAllVariantProperties` , no variant properties are overridden. Don't use this property when creating new endpoint resources or when `RetainAllVariantProperties` is set to `false` .
	ExcludeRetainedVariantProperties interface{} `field:"optional" json:"excludeRetainedVariantProperties" yaml:"excludeRetainedVariantProperties"`
	// When updating endpoint resources, enables or disables the retention of variant properties, such as the instance count or the variant weight.
	//
	// To retain the variant properties of an endpoint when updating it, set `RetainAllVariantProperties` to `true` . To use the variant properties specified in a new `EndpointConfig` call when updating an endpoint, set `RetainAllVariantProperties` to `false` . Use this property only when updating endpoint resources, not when creating new endpoint resources.
	RetainAllVariantProperties interface{} `field:"optional" json:"retainAllVariantProperties" yaml:"retainAllVariantProperties"`
	// Specifies whether to reuse the last deployment configuration.
	//
	// The default value is false (the configuration is not reused).
	RetainDeploymentConfig interface{} `field:"optional" json:"retainDeploymentConfig" yaml:"retainDeploymentConfig"`
	// A list of key-value pairs to apply to this resource.
	//
	// For more information, see [Resource Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) and [Using Cost Allocation Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what) in the *AWS Billing and Cost Management User Guide* .
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
}

Properties for defining a `CfnEndpoint`.

Example:

// 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"

cfnEndpointProps := &CfnEndpointProps{
	EndpointConfigName: jsii.String("endpointConfigName"),

	// the properties below are optional
	DeploymentConfig: &DeploymentConfigProperty{
		BlueGreenUpdatePolicy: &BlueGreenUpdatePolicyProperty{
			TrafficRoutingConfiguration: &TrafficRoutingConfigProperty{
				Type: jsii.String("type"),

				// the properties below are optional
				CanarySize: &CapacitySizeProperty{
					Type: jsii.String("type"),
					Value: jsii.Number(123),
				},
				LinearStepSize: &CapacitySizeProperty{
					Type: jsii.String("type"),
					Value: jsii.Number(123),
				},
				WaitIntervalInSeconds: jsii.Number(123),
			},

			// the properties below are optional
			MaximumExecutionTimeoutInSeconds: jsii.Number(123),
			TerminationWaitInSeconds: jsii.Number(123),
		},

		// the properties below are optional
		AutoRollbackConfiguration: &AutoRollbackConfigProperty{
			Alarms: []interface{}{
				&AlarmProperty{
					AlarmName: jsii.String("alarmName"),
				},
			},
		},
	},
	EndpointName: jsii.String("endpointName"),
	ExcludeRetainedVariantProperties: []interface{}{
		&VariantPropertyProperty{
			VariantPropertyType: jsii.String("variantPropertyType"),
		},
	},
	RetainAllVariantProperties: jsii.Boolean(false),
	RetainDeploymentConfig: jsii.Boolean(false),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
}

type CfnEndpoint_AlarmProperty

type CfnEndpoint_AlarmProperty struct {
	// The name of a CloudWatch alarm in your account.
	AlarmName *string `field:"required" json:"alarmName" yaml:"alarmName"`
}

An Amazon CloudWatch alarm configured to monitor metrics on an endpoint.

Example:

// 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"

alarmProperty := &AlarmProperty{
	AlarmName: jsii.String("alarmName"),
}

type CfnEndpoint_AutoRollbackConfigProperty

type CfnEndpoint_AutoRollbackConfigProperty struct {
	// List of CloudWatch alarms in your account that are configured to monitor metrics on an endpoint.
	//
	// If any alarms are tripped during a deployment, SageMaker rolls back the deployment.
	Alarms interface{} `field:"required" json:"alarms" yaml:"alarms"`
}

Automatic rollback configuration for handling endpoint deployment failures and recovery.

Example:

// 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"

autoRollbackConfigProperty := &AutoRollbackConfigProperty{
	Alarms: []interface{}{
		&AlarmProperty{
			AlarmName: jsii.String("alarmName"),
		},
	},
}

type CfnEndpoint_BlueGreenUpdatePolicyProperty

type CfnEndpoint_BlueGreenUpdatePolicyProperty struct {
	// Defines the traffic routing strategy to shift traffic from the old fleet to the new fleet during an endpoint deployment.
	TrafficRoutingConfiguration interface{} `field:"required" json:"trafficRoutingConfiguration" yaml:"trafficRoutingConfiguration"`
	// Maximum execution timeout for the deployment.
	//
	// Note that the timeout value should be larger than the total waiting time specified in `TerminationWaitInSeconds` and `WaitIntervalInSeconds` .
	MaximumExecutionTimeoutInSeconds *float64 `field:"optional" json:"maximumExecutionTimeoutInSeconds" yaml:"maximumExecutionTimeoutInSeconds"`
	// Additional waiting time in seconds after the completion of an endpoint deployment before terminating the old endpoint fleet.
	//
	// Default is 0.
	TerminationWaitInSeconds *float64 `field:"optional" json:"terminationWaitInSeconds" yaml:"terminationWaitInSeconds"`
}

Update policy for a blue/green deployment.

If this update policy is specified, SageMaker creates a new fleet during the deployment while maintaining the old fleet. SageMaker flips traffic to the new fleet according to the specified traffic routing configuration. Only one update policy should be used in the deployment configuration. If no update policy is specified, SageMaker uses a blue/green deployment strategy with all at once traffic shifting by default.

Example:

// 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"

blueGreenUpdatePolicyProperty := &BlueGreenUpdatePolicyProperty{
	TrafficRoutingConfiguration: &TrafficRoutingConfigProperty{
		Type: jsii.String("type"),

		// the properties below are optional
		CanarySize: &CapacitySizeProperty{
			Type: jsii.String("type"),
			Value: jsii.Number(123),
		},
		LinearStepSize: &CapacitySizeProperty{
			Type: jsii.String("type"),
			Value: jsii.Number(123),
		},
		WaitIntervalInSeconds: jsii.Number(123),
	},

	// the properties below are optional
	MaximumExecutionTimeoutInSeconds: jsii.Number(123),
	TerminationWaitInSeconds: jsii.Number(123),
}

type CfnEndpoint_CapacitySizeProperty

type CfnEndpoint_CapacitySizeProperty struct {
	// Specifies the endpoint capacity type.
	//
	// - `INSTANCE_COUNT` : The endpoint activates based on the number of instances.
	// - `CAPACITY_PERCENT` : The endpoint activates based on the specified percentage of capacity.
	Type *string `field:"required" json:"type" yaml:"type"`
	// Defines the capacity size, either as a number of instances or a capacity percentage.
	Value *float64 `field:"required" json:"value" yaml:"value"`
}

Specifies the endpoint capacity to activate for production.

Example:

// 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"

capacitySizeProperty := &CapacitySizeProperty{
	Type: jsii.String("type"),
	Value: jsii.Number(123),
}

type CfnEndpoint_DeploymentConfigProperty

type CfnEndpoint_DeploymentConfigProperty struct {
	// Update policy for a blue/green deployment.
	//
	// If this update policy is specified, SageMaker creates a new fleet during the deployment while maintaining the old fleet. SageMaker flips traffic to the new fleet according to the specified traffic routing configuration. Only one update policy should be used in the deployment configuration. If no update policy is specified, SageMaker uses a blue/green deployment strategy with all at once traffic shifting by default.
	BlueGreenUpdatePolicy interface{} `field:"required" json:"blueGreenUpdatePolicy" yaml:"blueGreenUpdatePolicy"`
	// Automatic rollback configuration for handling endpoint deployment failures and recovery.
	AutoRollbackConfiguration interface{} `field:"optional" json:"autoRollbackConfiguration" yaml:"autoRollbackConfiguration"`
}

The deployment configuration for an endpoint, which contains the desired deployment strategy and rollback configurations.

Example:

// 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"

deploymentConfigProperty := &DeploymentConfigProperty{
	BlueGreenUpdatePolicy: &BlueGreenUpdatePolicyProperty{
		TrafficRoutingConfiguration: &TrafficRoutingConfigProperty{
			Type: jsii.String("type"),

			// the properties below are optional
			CanarySize: &CapacitySizeProperty{
				Type: jsii.String("type"),
				Value: jsii.Number(123),
			},
			LinearStepSize: &CapacitySizeProperty{
				Type: jsii.String("type"),
				Value: jsii.Number(123),
			},
			WaitIntervalInSeconds: jsii.Number(123),
		},

		// the properties below are optional
		MaximumExecutionTimeoutInSeconds: jsii.Number(123),
		TerminationWaitInSeconds: jsii.Number(123),
	},

	// the properties below are optional
	AutoRollbackConfiguration: &AutoRollbackConfigProperty{
		Alarms: []interface{}{
			&AlarmProperty{
				AlarmName: jsii.String("alarmName"),
			},
		},
	},
}

type CfnEndpoint_TrafficRoutingConfigProperty

type CfnEndpoint_TrafficRoutingConfigProperty struct {
	// Traffic routing strategy type.
	//
	// - `ALL_AT_ONCE` : Endpoint traffic shifts to the new fleet in a single step.
	// - `CANARY` : Endpoint traffic shifts to the new fleet in two steps. The first step is the canary, which is a small portion of the traffic. The second step is the remainder of the traffic.
	// - `LINEAR` : Endpoint traffic shifts to the new fleet in n steps of a configurable size.
	Type *string `field:"required" json:"type" yaml:"type"`
	// Batch size for the first step to turn on traffic on the new endpoint fleet.
	//
	// `Value` must be less than or equal to 50% of the variant's total instance count.
	CanarySize interface{} `field:"optional" json:"canarySize" yaml:"canarySize"`
	// Batch size for each step to turn on traffic on the new endpoint fleet.
	//
	// `Value` must be 10-50% of the variant's total instance count.
	LinearStepSize interface{} `field:"optional" json:"linearStepSize" yaml:"linearStepSize"`
	// The waiting time (in seconds) between incremental steps to turn on traffic on the new endpoint fleet.
	WaitIntervalInSeconds *float64 `field:"optional" json:"waitIntervalInSeconds" yaml:"waitIntervalInSeconds"`
}

Defines the traffic routing strategy during an endpoint deployment to shift traffic from the old fleet to the new fleet.

Example:

// 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"

trafficRoutingConfigProperty := &TrafficRoutingConfigProperty{
	Type: jsii.String("type"),

	// the properties below are optional
	CanarySize: &CapacitySizeProperty{
		Type: jsii.String("type"),
		Value: jsii.Number(123),
	},
	LinearStepSize: &CapacitySizeProperty{
		Type: jsii.String("type"),
		Value: jsii.Number(123),
	},
	WaitIntervalInSeconds: jsii.Number(123),
}

type CfnEndpoint_VariantPropertyProperty

type CfnEndpoint_VariantPropertyProperty struct {
	// The type of variant property. The supported values are:.
	//
	// - `DesiredInstanceCount` : Overrides the existing variant instance counts using the [InitialInstanceCount](https://docs.aws.amazon.com/sagemaker/latest/dg/API_ProductionVariant.html#SageMaker-Type-ProductionVariant-InitialInstanceCount) values in the [ProductionVariants](https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateEndpointConfig.html#SageMaker-CreateEndpointConfig-request-ProductionVariants) .
	// - `DesiredWeight` : Overrides the existing variant weights using the [InitialVariantWeight](https://docs.aws.amazon.com/sagemaker/latest/dg/API_ProductionVariant.html#SageMaker-Type-ProductionVariant-InitialVariantWeight) values in the [ProductionVariants](https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateEndpointConfig.html#SageMaker-CreateEndpointConfig-request-ProductionVariants) .
	// - `DataCaptureConfig` : (Not currently supported.)
	VariantPropertyType *string `field:"optional" json:"variantPropertyType" yaml:"variantPropertyType"`
}

Specifies a production variant property type for an Endpoint.

If you are updating an Endpoint with the [RetainAllVariantProperties](https://docs.aws.amazon.com/sagemaker/latest/dg/API_UpdateEndpoint.html#SageMaker-UpdateEndpoint-request-RetainAllVariantProperties) option set to `true` , the `VarientProperty` objects listed in [ExcludeRetainedVariantProperties](https://docs.aws.amazon.com/sagemaker/latest/dg/API_UpdateEndpoint.html#SageMaker-UpdateEndpoint-request-ExcludeRetainedVariantProperties) override the existing variant properties of the Endpoint.

Example:

// 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"

variantPropertyProperty := &VariantPropertyProperty{
	VariantPropertyType: jsii.String("variantPropertyType"),
}

type CfnFeatureGroup

type CfnFeatureGroup interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// A free form description of a `FeatureGroup` .
	Description() *string
	SetDescription(val *string)
	// The name of the feature that stores the `EventTime` of a Record in a `FeatureGroup` .
	//
	// A `EventTime` is point in time when a new event occurs that corresponds to the creation or update of a `Record` in `FeatureGroup` . All `Records` in the `FeatureGroup` must have a corresponding `EventTime` .
	EventTimeFeatureName() *string
	SetEventTimeFeatureName(val *string)
	// A list of `Feature` s. Each `Feature` must include a `FeatureName` and a `FeatureType` .
	//
	// Valid `FeatureType` s are `Integral` , `Fractional` and `String` .
	//
	// `FeatureName` s cannot be any of the following: `is_deleted` , `write_time` , `api_invocation_time` .
	//
	// You can create up to 2,500 `FeatureDefinition` s per `FeatureGroup` .
	FeatureDefinitions() interface{}
	SetFeatureDefinitions(val interface{})
	// The name of the `FeatureGroup` .
	FeatureGroupName() *string
	SetFeatureGroupName(val *string)
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The tree node.
	Node() constructs.Node
	// The configuration of an `OfflineStore` .
	OfflineStoreConfig() interface{}
	SetOfflineStoreConfig(val interface{})
	// The configuration of an `OnlineStore` .
	OnlineStoreConfig() interface{}
	SetOnlineStoreConfig(val interface{})
	// The name of the `Feature` whose value uniquely identifies a `Record` defined in the `FeatureGroup` `FeatureDefinitions` .
	RecordIdentifierFeatureName() *string
	SetRecordIdentifierFeatureName(val *string)
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// The Amazon Resource Name (ARN) of the IAM execution role used to create the feature group.
	RoleArn() *string
	SetRoleArn(val *string)
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// Tags used to define a `FeatureGroup` .
	Tags() awscdk.TagManager
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// 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`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::SageMaker::FeatureGroup`.

Create a new `FeatureGroup` . A `FeatureGroup` is a group of `Features` defined in the `FeatureStore` to describe a `Record` .

The `FeatureGroup` defines the schema and features contained in the FeatureGroup. A `FeatureGroup` definition is composed of a list of `Features` , a `RecordIdentifierFeatureName` , an `EventTimeFeatureName` and configurations for its `OnlineStore` and `OfflineStore` . Check [AWS service quotas](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html) to see the `FeatureGroup` s quota for your AWS account.

> You must include at least one of `OnlineStoreConfig` and `OfflineStoreConfig` to create a `FeatureGroup` .

Example:

// 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"

var offlineStoreConfig interface{}
var onlineStoreConfig interface{}

cfnFeatureGroup := awscdk.Aws_sagemaker.NewCfnFeatureGroup(this, jsii.String("MyCfnFeatureGroup"), &CfnFeatureGroupProps{
	EventTimeFeatureName: jsii.String("eventTimeFeatureName"),
	FeatureDefinitions: []interface{}{
		&FeatureDefinitionProperty{
			FeatureName: jsii.String("featureName"),
			FeatureType: jsii.String("featureType"),
		},
	},
	FeatureGroupName: jsii.String("featureGroupName"),
	RecordIdentifierFeatureName: jsii.String("recordIdentifierFeatureName"),

	// the properties below are optional
	Description: jsii.String("description"),
	OfflineStoreConfig: offlineStoreConfig,
	OnlineStoreConfig: onlineStoreConfig,
	RoleArn: jsii.String("roleArn"),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
})

func NewCfnFeatureGroup

func NewCfnFeatureGroup(scope constructs.Construct, id *string, props *CfnFeatureGroupProps) CfnFeatureGroup

Create a new `AWS::SageMaker::FeatureGroup`.

type CfnFeatureGroupProps

type CfnFeatureGroupProps struct {
	// The name of the feature that stores the `EventTime` of a Record in a `FeatureGroup` .
	//
	// A `EventTime` is point in time when a new event occurs that corresponds to the creation or update of a `Record` in `FeatureGroup` . All `Records` in the `FeatureGroup` must have a corresponding `EventTime` .
	EventTimeFeatureName *string `field:"required" json:"eventTimeFeatureName" yaml:"eventTimeFeatureName"`
	// A list of `Feature` s. Each `Feature` must include a `FeatureName` and a `FeatureType` .
	//
	// Valid `FeatureType` s are `Integral` , `Fractional` and `String` .
	//
	// `FeatureName` s cannot be any of the following: `is_deleted` , `write_time` , `api_invocation_time` .
	//
	// You can create up to 2,500 `FeatureDefinition` s per `FeatureGroup` .
	FeatureDefinitions interface{} `field:"required" json:"featureDefinitions" yaml:"featureDefinitions"`
	// The name of the `FeatureGroup` .
	FeatureGroupName *string `field:"required" json:"featureGroupName" yaml:"featureGroupName"`
	// The name of the `Feature` whose value uniquely identifies a `Record` defined in the `FeatureGroup` `FeatureDefinitions` .
	RecordIdentifierFeatureName *string `field:"required" json:"recordIdentifierFeatureName" yaml:"recordIdentifierFeatureName"`
	// A free form description of a `FeatureGroup` .
	Description *string `field:"optional" json:"description" yaml:"description"`
	// The configuration of an `OfflineStore` .
	OfflineStoreConfig interface{} `field:"optional" json:"offlineStoreConfig" yaml:"offlineStoreConfig"`
	// The configuration of an `OnlineStore` .
	OnlineStoreConfig interface{} `field:"optional" json:"onlineStoreConfig" yaml:"onlineStoreConfig"`
	// The Amazon Resource Name (ARN) of the IAM execution role used to create the feature group.
	RoleArn *string `field:"optional" json:"roleArn" yaml:"roleArn"`
	// Tags used to define a `FeatureGroup` .
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
}

Properties for defining a `CfnFeatureGroup`.

Example:

// 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"

var offlineStoreConfig interface{}
var onlineStoreConfig interface{}

cfnFeatureGroupProps := &CfnFeatureGroupProps{
	EventTimeFeatureName: jsii.String("eventTimeFeatureName"),
	FeatureDefinitions: []interface{}{
		&FeatureDefinitionProperty{
			FeatureName: jsii.String("featureName"),
			FeatureType: jsii.String("featureType"),
		},
	},
	FeatureGroupName: jsii.String("featureGroupName"),
	RecordIdentifierFeatureName: jsii.String("recordIdentifierFeatureName"),

	// the properties below are optional
	Description: jsii.String("description"),
	OfflineStoreConfig: offlineStoreConfig,
	OnlineStoreConfig: onlineStoreConfig,
	RoleArn: jsii.String("roleArn"),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
}

type CfnFeatureGroup_DataCatalogConfigProperty added in v2.55.0

type CfnFeatureGroup_DataCatalogConfigProperty struct {
	// The name of the Glue table catalog.
	Catalog *string `field:"required" json:"catalog" yaml:"catalog"`
	// The name of the Glue table database.
	Database *string `field:"required" json:"database" yaml:"database"`
	// The name of the Glue table.
	TableName *string `field:"required" json:"tableName" yaml:"tableName"`
}

The meta data of the Glue table which serves as data catalog for the `OfflineStore` .

Example:

// 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"

dataCatalogConfigProperty := &DataCatalogConfigProperty{
	Catalog: jsii.String("catalog"),
	Database: jsii.String("database"),
	TableName: jsii.String("tableName"),
}

type CfnFeatureGroup_FeatureDefinitionProperty

type CfnFeatureGroup_FeatureDefinitionProperty struct {
	// The name of a feature.
	//
	// The type must be a string. `FeatureName` cannot be any of the following: `is_deleted` , `write_time` , `api_invocation_time` .
	FeatureName *string `field:"required" json:"featureName" yaml:"featureName"`
	// The value type of a feature.
	//
	// Valid values are Integral, Fractional, or String.
	FeatureType *string `field:"required" json:"featureType" yaml:"featureType"`
}

A list of features.

You must include `FeatureName` and `FeatureType` . Valid feature `FeatureType` s are `Integral` , `Fractional` and `String` .

Example:

// 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"

featureDefinitionProperty := &FeatureDefinitionProperty{
	FeatureName: jsii.String("featureName"),
	FeatureType: jsii.String("featureType"),
}

type CfnFeatureGroup_OfflineStoreConfigProperty added in v2.55.0

type CfnFeatureGroup_OfflineStoreConfigProperty struct {
	// The Amazon Simple Storage (Amazon S3) location of `OfflineStore` .
	S3StorageConfig interface{} `field:"required" json:"s3StorageConfig" yaml:"s3StorageConfig"`
	// The meta data of the Glue table that is autogenerated when an `OfflineStore` is created.
	DataCatalogConfig interface{} `field:"optional" json:"dataCatalogConfig" yaml:"dataCatalogConfig"`
	// Set to `True` to disable the automatic creation of an AWS Glue table when configuring an `OfflineStore` .
	//
	// If set to `False` , Feature Store will name the `OfflineStore` Glue table following [Athena's naming recommendations](https://docs.aws.amazon.com/athena/latest/ug/tables-databases-columns-names.html) .
	//
	// The default value is `False` .
	DisableGlueTableCreation interface{} `field:"optional" json:"disableGlueTableCreation" yaml:"disableGlueTableCreation"`
	// `CfnFeatureGroup.OfflineStoreConfigProperty.TableFormat`.
	TableFormat *string `field:"optional" json:"tableFormat" yaml:"tableFormat"`
}

The configuration of an `OfflineStore` .

Provide an `OfflineStoreConfig` in a request to `CreateFeatureGroup` to create an `OfflineStore` .

To encrypt an `OfflineStore` using at rest data encryption, specify AWS Key Management Service (KMS) key ID, or `KMSKeyId` , in `S3StorageConfig` .

Example:

// 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"

offlineStoreConfigProperty := &OfflineStoreConfigProperty{
	S3StorageConfig: &S3StorageConfigProperty{
		S3Uri: jsii.String("s3Uri"),

		// the properties below are optional
		KmsKeyId: jsii.String("kmsKeyId"),
	},

	// the properties below are optional
	DataCatalogConfig: &DataCatalogConfigProperty{
		Catalog: jsii.String("catalog"),
		Database: jsii.String("database"),
		TableName: jsii.String("tableName"),
	},
	DisableGlueTableCreation: jsii.Boolean(false),
	TableFormat: jsii.String("tableFormat"),
}

type CfnFeatureGroup_OnlineStoreConfigProperty added in v2.55.0

type CfnFeatureGroup_OnlineStoreConfigProperty struct {
	// Turn `OnlineStore` off by specifying `False` for the `EnableOnlineStore` flag.
	//
	// Turn `OnlineStore` on by specifying `True` for the `EnableOnlineStore` flag.
	//
	// The default value is `False` .
	EnableOnlineStore interface{} `field:"optional" json:"enableOnlineStore" yaml:"enableOnlineStore"`
	// Use to specify KMS Key ID ( `KMSKeyId` ) for at-rest encryption of your `OnlineStore` .
	SecurityConfig interface{} `field:"optional" json:"securityConfig" yaml:"securityConfig"`
}

Use this to specify the AWS Key Management Service (KMS) Key ID, or `KMSKeyId` , for at rest data encryption.

You can turn `OnlineStore` on or off by specifying the `EnableOnlineStore` flag at General Assembly.

The default value is `False` .

Example:

// 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"

onlineStoreConfigProperty := &OnlineStoreConfigProperty{
	EnableOnlineStore: jsii.Boolean(false),
	SecurityConfig: &OnlineStoreSecurityConfigProperty{
		KmsKeyId: jsii.String("kmsKeyId"),
	},
}

type CfnFeatureGroup_OnlineStoreSecurityConfigProperty added in v2.55.0

type CfnFeatureGroup_OnlineStoreSecurityConfigProperty struct {
	// The AWS Key Management Service (KMS) key ARN that SageMaker Feature Store uses to encrypt the Amazon S3 objects at rest using Amazon S3 server-side encryption.
	//
	// The caller (either user or IAM role) of `CreateFeatureGroup` must have below permissions to the `OnlineStore` `KmsKeyId` :
	//
	// - `"kms:Encrypt"`
	// - `"kms:Decrypt"`
	// - `"kms:DescribeKey"`
	// - `"kms:CreateGrant"`
	// - `"kms:RetireGrant"`
	// - `"kms:ReEncryptFrom"`
	// - `"kms:ReEncryptTo"`
	// - `"kms:GenerateDataKey"`
	// - `"kms:ListAliases"`
	// - `"kms:ListGrants"`
	// - `"kms:RevokeGrant"`
	//
	// The caller (either user or IAM role) to all DataPlane operations ( `PutRecord` , `GetRecord` , `DeleteRecord` ) must have the following permissions to the `KmsKeyId` :
	//
	// - `"kms:Decrypt"`.
	KmsKeyId *string `field:"optional" json:"kmsKeyId" yaml:"kmsKeyId"`
}

The security configuration for `OnlineStore` .

Example:

// 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"

onlineStoreSecurityConfigProperty := &OnlineStoreSecurityConfigProperty{
	KmsKeyId: jsii.String("kmsKeyId"),
}

type CfnFeatureGroup_S3StorageConfigProperty added in v2.55.0

type CfnFeatureGroup_S3StorageConfigProperty struct {
	// The S3 URI, or location in Amazon S3, of `OfflineStore` .
	//
	// S3 URIs have a format similar to the following: `s3://example-bucket/prefix/` .
	S3Uri *string `field:"required" json:"s3Uri" yaml:"s3Uri"`
	// The AWS Key Management Service (KMS) key ARN of the key used to encrypt any objects written into the `OfflineStore` S3 location.
	//
	// The IAM `roleARN` that is passed as a parameter to `CreateFeatureGroup` must have below permissions to the `KmsKeyId` :
	//
	// - `"kms:GenerateDataKey"`.
	KmsKeyId *string `field:"optional" json:"kmsKeyId" yaml:"kmsKeyId"`
}

The Amazon Simple Storage (Amazon S3) location and and security configuration for `OfflineStore` .

Example:

// 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"

s3StorageConfigProperty := &S3StorageConfigProperty{
	S3Uri: jsii.String("s3Uri"),

	// the properties below are optional
	KmsKeyId: jsii.String("kmsKeyId"),
}

type CfnImage

type CfnImage interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// The Amazon Resource Name (ARN) of the image.
	//
	// *Type* : String
	//
	// *Length Constraints* : Maximum length of 256.
	//
	// *Pattern* : `^arn:aws(-[\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$`
	AttrImageArn() *string
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// The description of the image.
	//
	// *Length Constraints* : Minimum length of 1. Maximum length of 512.
	//
	// *Pattern* : `.*`
	ImageDescription() *string
	SetImageDescription(val *string)
	// The display name of the image.
	//
	// *Length Constraints* : Minimum length of 1. Maximum length of 128.
	//
	// *Pattern* : `^\S(.*\S)?$`
	ImageDisplayName() *string
	SetImageDisplayName(val *string)
	// The name of the Image. Must be unique by region in your account.
	//
	// *Length Constraints* : Minimum length of 1. Maximum length of 63.
	//
	// *Pattern* : `^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$`
	ImageName() *string
	SetImageName(val *string)
	// The Amazon Resource Name (ARN) of an IAM role that enables Amazon SageMaker to perform tasks on your behalf.
	//
	// *Length Constraints* : Minimum length of 20. Maximum length of 2048.
	//
	// *Pattern* : `^arn:aws[a-z\-]*:iam::\d{12}:role/?[a-zA-Z_0-9+=,.@\-_/]+$`
	ImageRoleArn() *string
	SetImageRoleArn(val *string)
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The tree node.
	Node() constructs.Node
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// A list of key-value pairs to apply to this resource.
	//
	// *Array Members* : Minimum number of 0 items. Maximum number of 50 items.
	Tags() awscdk.TagManager
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// 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`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::SageMaker::Image`.

Creates a custom SageMaker image. A SageMaker image is a set of image versions. Each image version represents a container image stored in Amazon Elastic Container Registry (ECR). For more information, see [Bring your own SageMaker image](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-byoi.html) .

Example:

// 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"

cfnImage := awscdk.Aws_sagemaker.NewCfnImage(this, jsii.String("MyCfnImage"), &CfnImageProps{
	ImageName: jsii.String("imageName"),
	ImageRoleArn: jsii.String("imageRoleArn"),

	// the properties below are optional
	ImageDescription: jsii.String("imageDescription"),
	ImageDisplayName: jsii.String("imageDisplayName"),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
})

func NewCfnImage

func NewCfnImage(scope constructs.Construct, id *string, props *CfnImageProps) CfnImage

Create a new `AWS::SageMaker::Image`.

type CfnImageProps

type CfnImageProps struct {
	// The name of the Image. Must be unique by region in your account.
	//
	// *Length Constraints* : Minimum length of 1. Maximum length of 63.
	//
	// *Pattern* : `^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$`
	ImageName *string `field:"required" json:"imageName" yaml:"imageName"`
	// The Amazon Resource Name (ARN) of an IAM role that enables Amazon SageMaker to perform tasks on your behalf.
	//
	// *Length Constraints* : Minimum length of 20. Maximum length of 2048.
	//
	// *Pattern* : `^arn:aws[a-z\-]*:iam::\d{12}:role/?[a-zA-Z_0-9+=,.@\-_/]+$`
	ImageRoleArn *string `field:"required" json:"imageRoleArn" yaml:"imageRoleArn"`
	// The description of the image.
	//
	// *Length Constraints* : Minimum length of 1. Maximum length of 512.
	//
	// *Pattern* : `.*`
	ImageDescription *string `field:"optional" json:"imageDescription" yaml:"imageDescription"`
	// The display name of the image.
	//
	// *Length Constraints* : Minimum length of 1. Maximum length of 128.
	//
	// *Pattern* : `^\S(.*\S)?$`
	ImageDisplayName *string `field:"optional" json:"imageDisplayName" yaml:"imageDisplayName"`
	// A list of key-value pairs to apply to this resource.
	//
	// *Array Members* : Minimum number of 0 items. Maximum number of 50 items.
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
}

Properties for defining a `CfnImage`.

Example:

// 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"

cfnImageProps := &CfnImageProps{
	ImageName: jsii.String("imageName"),
	ImageRoleArn: jsii.String("imageRoleArn"),

	// the properties below are optional
	ImageDescription: jsii.String("imageDescription"),
	ImageDisplayName: jsii.String("imageDisplayName"),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
}

type CfnImageVersion

type CfnImageVersion interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// The URI of the container image version referenced by ImageVersion.
	AttrContainerImage() *string
	// The Amazon Resource Name (ARN) of the parent Image.
	AttrImageArn() *string
	// The Amazon Resource Name (ARN) of the image version.
	//
	// *Type* : String
	//
	// *Length Constraints* : Maximum length of 256.
	//
	// *Pattern* : `^arn:aws(-[\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])* /[0-9]+$`
	AttrImageVersionArn() *string
	// The version of the image.
	AttrVersion() *float64
	// The container image that the SageMaker image version is based on.
	//
	// *Length Constraints* : Minimum length of 1. Maximum length of 255.
	//
	// *Pattern* : `.*`
	BaseImage() *string
	SetBaseImage(val *string)
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// The name of the parent image.
	//
	// *Length Constraints* : Minimum length of 1. Maximum length of 63.
	//
	// *Pattern* : `^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$`
	ImageName() *string
	SetImageName(val *string)
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The tree node.
	Node() constructs.Node
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// 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`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::SageMaker::ImageVersion`.

Creates a version of the SageMaker image specified by `ImageName` . The version represents the Amazon Container Registry (ECR) container image specified by `BaseImage` .

> You can use the `DependsOn` attribute to specify that the creation of a specific resource follows another. You can use it for the following use cases. For more information, see [`DependsOn` attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) . > > 1. `DependsOn` can be used to establish a parent/child relationship between `ImageVersion` and `Image` where the `ImageVersion` `DependsOn` the `Image` . > > 2. `DependsOn` can be used to establish order among `ImageVersion` s within the same `Image` namespace. For example, if ImageVersionB `DependsOn` ImageVersionA and both share the same parent `Image` , then ImageVersionA is version N and ImageVersionB is N+1.

Example:

// 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"

cfnImageVersion := awscdk.Aws_sagemaker.NewCfnImageVersion(this, jsii.String("MyCfnImageVersion"), &CfnImageVersionProps{
	BaseImage: jsii.String("baseImage"),
	ImageName: jsii.String("imageName"),
})

func NewCfnImageVersion

func NewCfnImageVersion(scope constructs.Construct, id *string, props *CfnImageVersionProps) CfnImageVersion

Create a new `AWS::SageMaker::ImageVersion`.

type CfnImageVersionProps

type CfnImageVersionProps struct {
	// The container image that the SageMaker image version is based on.
	//
	// *Length Constraints* : Minimum length of 1. Maximum length of 255.
	//
	// *Pattern* : `.*`
	BaseImage *string `field:"required" json:"baseImage" yaml:"baseImage"`
	// The name of the parent image.
	//
	// *Length Constraints* : Minimum length of 1. Maximum length of 63.
	//
	// *Pattern* : `^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$`
	ImageName *string `field:"required" json:"imageName" yaml:"imageName"`
}

Properties for defining a `CfnImageVersion`.

Example:

// 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"

cfnImageVersionProps := &CfnImageVersionProps{
	BaseImage: jsii.String("baseImage"),
	ImageName: jsii.String("imageName"),
}

type CfnInferenceExperiment added in v2.70.0

type CfnInferenceExperiment interface {
	awscdk.CfnResource
	awscdk.IInspectable
	AttrArn() *string
	AttrCreationTime() *string
	AttrEndpointMetadataEndpointConfigName() *string
	AttrEndpointMetadataEndpointName() *string
	AttrEndpointMetadataEndpointStatus() *string
	AttrLastModifiedTime() *string
	AttrStatus() *string
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// The Amazon S3 location and configuration for storing inference request and response data.
	DataStorageConfig() interface{}
	SetDataStorageConfig(val interface{})
	// The description of the inference experiment.
	Description() *string
	SetDescription(val *string)
	// The desired state of the experiment after stopping. The possible states are the following:.
	//
	// - `Completed` : The experiment completed successfully
	// - `Cancelled` : The experiment was canceled.
	DesiredState() *string
	SetDesiredState(val *string)
	// The name of the endpoint.
	EndpointName() *string
	SetEndpointName(val *string)
	// The AWS Key Management Service key that Amazon SageMaker uses to encrypt captured data at rest using Amazon S3 server-side encryption.
	KmsKey() *string
	SetKmsKey(val *string)
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// An array of `ModelVariantConfigSummary` objects.
	//
	// There is one for each variant in the inference experiment. Each `ModelVariantConfigSummary` object in the array describes the infrastructure configuration for deploying the corresponding variant.
	ModelVariants() interface{}
	SetModelVariants(val interface{})
	// The name of the inference experiment.
	Name() *string
	SetName(val *string)
	// The tree node.
	Node() constructs.Node
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// The ARN of the IAM role that Amazon SageMaker can assume to access model artifacts and container images, and manage Amazon SageMaker Inference endpoints for model deployment.
	RoleArn() *string
	SetRoleArn(val *string)
	// The duration for which the inference experiment ran or will run.
	//
	// The maximum duration that you can set for an inference experiment is 30 days.
	Schedule() interface{}
	SetSchedule(val interface{})
	// The configuration of `ShadowMode` inference experiment type, which shows the production variant that takes all the inference requests, and the shadow variant to which Amazon SageMaker replicates a percentage of the inference requests.
	//
	// For the shadow variant it also shows the percentage of requests that Amazon SageMaker replicates.
	ShadowModeConfig() interface{}
	SetShadowModeConfig(val interface{})
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// The error message for the inference experiment status result.
	StatusReason() *string
	SetStatusReason(val *string)
	// An array of key-value pairs to apply to this resource.
	//
	// For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .
	Tags() awscdk.TagManager
	// The type of the inference experiment.
	Type() *string
	SetType(val *string)
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// 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`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::SageMaker::InferenceExperiment`.

Creates an inference experiment using the configurations specified in the request.

Use this API to setup and schedule an experiment to compare model variants on a Amazon SageMaker inference endpoint. For more information about inference experiments, see [Shadow tests](https://docs.aws.amazon.com/sagemaker/latest/dg/shadow-tests.html) .

Amazon SageMaker begins your experiment at the scheduled time and routes traffic to your endpoint's model variants based on your specified configuration.

While the experiment is in progress or after it has concluded, you can view metrics that compare your model variants. For more information, see [View, monitor, and edit shadow tests](https://docs.aws.amazon.com/sagemaker/latest/dg/shadow-tests-view-monitor-edit.html) .

Example:

// 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"

cfnInferenceExperiment := awscdk.Aws_sagemaker.NewCfnInferenceExperiment(this, jsii.String("MyCfnInferenceExperiment"), &CfnInferenceExperimentProps{
	EndpointName: jsii.String("endpointName"),
	ModelVariants: []interface{}{
		&ModelVariantConfigProperty{
			InfrastructureConfig: &ModelInfrastructureConfigProperty{
				InfrastructureType: jsii.String("infrastructureType"),
				RealTimeInferenceConfig: &RealTimeInferenceConfigProperty{
					InstanceCount: jsii.Number(123),
					InstanceType: jsii.String("instanceType"),
				},
			},
			ModelName: jsii.String("modelName"),
			VariantName: jsii.String("variantName"),
		},
	},
	Name: jsii.String("name"),
	RoleArn: jsii.String("roleArn"),
	Type: jsii.String("type"),

	// the properties below are optional
	DataStorageConfig: &DataStorageConfigProperty{
		Destination: jsii.String("destination"),

		// the properties below are optional
		ContentType: &CaptureContentTypeHeaderProperty{
			CsvContentTypes: []*string{
				jsii.String("csvContentTypes"),
			},
			JsonContentTypes: []*string{
				jsii.String("jsonContentTypes"),
			},
		},
		KmsKey: jsii.String("kmsKey"),
	},
	Description: jsii.String("description"),
	DesiredState: jsii.String("desiredState"),
	KmsKey: jsii.String("kmsKey"),
	Schedule: &InferenceExperimentScheduleProperty{
		EndTime: jsii.String("endTime"),
		StartTime: jsii.String("startTime"),
	},
	ShadowModeConfig: &ShadowModeConfigProperty{
		ShadowModelVariants: []interface{}{
			&ShadowModelVariantConfigProperty{
				SamplingPercentage: jsii.Number(123),
				ShadowModelVariantName: jsii.String("shadowModelVariantName"),
			},
		},
		SourceModelVariantName: jsii.String("sourceModelVariantName"),
	},
	StatusReason: jsii.String("statusReason"),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
})

func NewCfnInferenceExperiment added in v2.70.0

func NewCfnInferenceExperiment(scope constructs.Construct, id *string, props *CfnInferenceExperimentProps) CfnInferenceExperiment

Create a new `AWS::SageMaker::InferenceExperiment`.

type CfnInferenceExperimentProps added in v2.70.0

type CfnInferenceExperimentProps struct {
	// The name of the endpoint.
	EndpointName *string `field:"required" json:"endpointName" yaml:"endpointName"`
	// An array of `ModelVariantConfigSummary` objects.
	//
	// There is one for each variant in the inference experiment. Each `ModelVariantConfigSummary` object in the array describes the infrastructure configuration for deploying the corresponding variant.
	ModelVariants interface{} `field:"required" json:"modelVariants" yaml:"modelVariants"`
	// The name of the inference experiment.
	Name *string `field:"required" json:"name" yaml:"name"`
	// The ARN of the IAM role that Amazon SageMaker can assume to access model artifacts and container images, and manage Amazon SageMaker Inference endpoints for model deployment.
	RoleArn *string `field:"required" json:"roleArn" yaml:"roleArn"`
	// The type of the inference experiment.
	Type *string `field:"required" json:"type" yaml:"type"`
	// The Amazon S3 location and configuration for storing inference request and response data.
	DataStorageConfig interface{} `field:"optional" json:"dataStorageConfig" yaml:"dataStorageConfig"`
	// The description of the inference experiment.
	Description *string `field:"optional" json:"description" yaml:"description"`
	// The desired state of the experiment after stopping. The possible states are the following:.
	//
	// - `Completed` : The experiment completed successfully
	// - `Cancelled` : The experiment was canceled.
	DesiredState *string `field:"optional" json:"desiredState" yaml:"desiredState"`
	// The AWS Key Management Service key that Amazon SageMaker uses to encrypt captured data at rest using Amazon S3 server-side encryption.
	KmsKey *string `field:"optional" json:"kmsKey" yaml:"kmsKey"`
	// The duration for which the inference experiment ran or will run.
	//
	// The maximum duration that you can set for an inference experiment is 30 days.
	Schedule interface{} `field:"optional" json:"schedule" yaml:"schedule"`
	// The configuration of `ShadowMode` inference experiment type, which shows the production variant that takes all the inference requests, and the shadow variant to which Amazon SageMaker replicates a percentage of the inference requests.
	//
	// For the shadow variant it also shows the percentage of requests that Amazon SageMaker replicates.
	ShadowModeConfig interface{} `field:"optional" json:"shadowModeConfig" yaml:"shadowModeConfig"`
	// The error message for the inference experiment status result.
	StatusReason *string `field:"optional" json:"statusReason" yaml:"statusReason"`
	// An array of key-value pairs to apply to this resource.
	//
	// For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
}

Properties for defining a `CfnInferenceExperiment`.

Example:

// 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"

cfnInferenceExperimentProps := &CfnInferenceExperimentProps{
	EndpointName: jsii.String("endpointName"),
	ModelVariants: []interface{}{
		&ModelVariantConfigProperty{
			InfrastructureConfig: &ModelInfrastructureConfigProperty{
				InfrastructureType: jsii.String("infrastructureType"),
				RealTimeInferenceConfig: &RealTimeInferenceConfigProperty{
					InstanceCount: jsii.Number(123),
					InstanceType: jsii.String("instanceType"),
				},
			},
			ModelName: jsii.String("modelName"),
			VariantName: jsii.String("variantName"),
		},
	},
	Name: jsii.String("name"),
	RoleArn: jsii.String("roleArn"),
	Type: jsii.String("type"),

	// the properties below are optional
	DataStorageConfig: &DataStorageConfigProperty{
		Destination: jsii.String("destination"),

		// the properties below are optional
		ContentType: &CaptureContentTypeHeaderProperty{
			CsvContentTypes: []*string{
				jsii.String("csvContentTypes"),
			},
			JsonContentTypes: []*string{
				jsii.String("jsonContentTypes"),
			},
		},
		KmsKey: jsii.String("kmsKey"),
	},
	Description: jsii.String("description"),
	DesiredState: jsii.String("desiredState"),
	KmsKey: jsii.String("kmsKey"),
	Schedule: &InferenceExperimentScheduleProperty{
		EndTime: jsii.String("endTime"),
		StartTime: jsii.String("startTime"),
	},
	ShadowModeConfig: &ShadowModeConfigProperty{
		ShadowModelVariants: []interface{}{
			&ShadowModelVariantConfigProperty{
				SamplingPercentage: jsii.Number(123),
				ShadowModelVariantName: jsii.String("shadowModelVariantName"),
			},
		},
		SourceModelVariantName: jsii.String("sourceModelVariantName"),
	},
	StatusReason: jsii.String("statusReason"),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
}

type CfnInferenceExperiment_CaptureContentTypeHeaderProperty added in v2.70.0

type CfnInferenceExperiment_CaptureContentTypeHeaderProperty struct {
	// The list of all content type headers that SageMaker will treat as CSV and capture accordingly.
	CsvContentTypes *[]*string `field:"optional" json:"csvContentTypes" yaml:"csvContentTypes"`
	// The list of all content type headers that SageMaker will treat as JSON and capture accordingly.
	JsonContentTypes *[]*string `field:"optional" json:"jsonContentTypes" yaml:"jsonContentTypes"`
}

Configuration specifying how to treat different headers.

If no headers are specified SageMaker will by default base64 encode when capturing the data.

Example:

// 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"

captureContentTypeHeaderProperty := &CaptureContentTypeHeaderProperty{
	CsvContentTypes: []*string{
		jsii.String("csvContentTypes"),
	},
	JsonContentTypes: []*string{
		jsii.String("jsonContentTypes"),
	},
}

type CfnInferenceExperiment_DataStorageConfigProperty added in v2.70.0

type CfnInferenceExperiment_DataStorageConfigProperty struct {
	// The Amazon S3 bucket where the inference request and response data is stored.
	Destination *string `field:"required" json:"destination" yaml:"destination"`
	// Configuration specifying how to treat different headers.
	//
	// If no headers are specified SageMaker will by default base64 encode when capturing the data.
	ContentType interface{} `field:"optional" json:"contentType" yaml:"contentType"`
	// The AWS Key Management Service key that Amazon SageMaker uses to encrypt captured data at rest using Amazon S3 server-side encryption.
	KmsKey *string `field:"optional" json:"kmsKey" yaml:"kmsKey"`
}

The Amazon S3 location and configuration for storing inference request and response data.

This is an optional parameter that you can use for data capture. For more information, see [Capture data](https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor-data-capture.html) .

Example:

// 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"

dataStorageConfigProperty := &DataStorageConfigProperty{
	Destination: jsii.String("destination"),

	// the properties below are optional
	ContentType: &CaptureContentTypeHeaderProperty{
		CsvContentTypes: []*string{
			jsii.String("csvContentTypes"),
		},
		JsonContentTypes: []*string{
			jsii.String("jsonContentTypes"),
		},
	},
	KmsKey: jsii.String("kmsKey"),
}

type CfnInferenceExperiment_EndpointMetadataProperty added in v2.70.0

type CfnInferenceExperiment_EndpointMetadataProperty struct {
	// The name of the endpoint.
	EndpointName *string `field:"required" json:"endpointName" yaml:"endpointName"`
	// The name of the endpoint configuration.
	EndpointConfigName *string `field:"optional" json:"endpointConfigName" yaml:"endpointConfigName"`
	// The status of the endpoint.
	//
	// For possible values of the status of an endpoint, see [](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-inferenceexperiment-endpointmetadata.html#cfn-sagemaker-inferenceexperiment-endpointmetadata-endpointstatus) .
	EndpointStatus *string `field:"optional" json:"endpointStatus" yaml:"endpointStatus"`
}

The metadata of the endpoint.

Example:

// 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"

endpointMetadataProperty := &EndpointMetadataProperty{
	EndpointName: jsii.String("endpointName"),

	// the properties below are optional
	EndpointConfigName: jsii.String("endpointConfigName"),
	EndpointStatus: jsii.String("endpointStatus"),
}

type CfnInferenceExperiment_InferenceExperimentScheduleProperty added in v2.70.0

type CfnInferenceExperiment_InferenceExperimentScheduleProperty struct {
	// The timestamp at which the inference experiment ended or will end.
	EndTime *string `field:"optional" json:"endTime" yaml:"endTime"`
	// The timestamp at which the inference experiment started or will start.
	StartTime *string `field:"optional" json:"startTime" yaml:"startTime"`
}

The start and end times of an inference experiment.

The maximum duration that you can set for an inference experiment is 30 days.

Example:

// 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"

inferenceExperimentScheduleProperty := &InferenceExperimentScheduleProperty{
	EndTime: jsii.String("endTime"),
	StartTime: jsii.String("startTime"),
}

type CfnInferenceExperiment_ModelInfrastructureConfigProperty added in v2.70.0

type CfnInferenceExperiment_ModelInfrastructureConfigProperty struct {
	// The inference option to which to deploy your model. Possible values are the following:.
	//
	// - `RealTime` : Deploy to real-time inference.
	InfrastructureType *string `field:"required" json:"infrastructureType" yaml:"infrastructureType"`
	// The infrastructure configuration for deploying the model to real-time inference.
	RealTimeInferenceConfig interface{} `field:"required" json:"realTimeInferenceConfig" yaml:"realTimeInferenceConfig"`
}

The configuration for the infrastructure that the model will be deployed to.

Example:

// 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"

modelInfrastructureConfigProperty := &ModelInfrastructureConfigProperty{
	InfrastructureType: jsii.String("infrastructureType"),
	RealTimeInferenceConfig: &RealTimeInferenceConfigProperty{
		InstanceCount: jsii.Number(123),
		InstanceType: jsii.String("instanceType"),
	},
}

type CfnInferenceExperiment_ModelVariantConfigProperty added in v2.70.0

type CfnInferenceExperiment_ModelVariantConfigProperty struct {
	// The configuration for the infrastructure that the model will be deployed to.
	InfrastructureConfig interface{} `field:"required" json:"infrastructureConfig" yaml:"infrastructureConfig"`
	// The name of the Amazon SageMaker Model entity.
	ModelName *string `field:"required" json:"modelName" yaml:"modelName"`
	// The name of the variant.
	VariantName *string `field:"required" json:"variantName" yaml:"variantName"`
}

Contains information about the deployment options of a model.

Example:

// 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"

modelVariantConfigProperty := &ModelVariantConfigProperty{
	InfrastructureConfig: &ModelInfrastructureConfigProperty{
		InfrastructureType: jsii.String("infrastructureType"),
		RealTimeInferenceConfig: &RealTimeInferenceConfigProperty{
			InstanceCount: jsii.Number(123),
			InstanceType: jsii.String("instanceType"),
		},
	},
	ModelName: jsii.String("modelName"),
	VariantName: jsii.String("variantName"),
}

type CfnInferenceExperiment_RealTimeInferenceConfigProperty added in v2.70.0

type CfnInferenceExperiment_RealTimeInferenceConfigProperty struct {
	// The number of instances of the type specified by `InstanceType` .
	InstanceCount *float64 `field:"required" json:"instanceCount" yaml:"instanceCount"`
	// The instance type the model is deployed to.
	InstanceType *string `field:"required" json:"instanceType" yaml:"instanceType"`
}

The infrastructure configuration for deploying the model to a real-time inference endpoint.

Example:

// 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"

realTimeInferenceConfigProperty := &RealTimeInferenceConfigProperty{
	InstanceCount: jsii.Number(123),
	InstanceType: jsii.String("instanceType"),
}

type CfnInferenceExperiment_ShadowModeConfigProperty added in v2.70.0

type CfnInferenceExperiment_ShadowModeConfigProperty struct {
	// List of shadow variant configurations.
	ShadowModelVariants interface{} `field:"required" json:"shadowModelVariants" yaml:"shadowModelVariants"`
	// The name of the production variant, which takes all the inference requests.
	SourceModelVariantName *string `field:"required" json:"sourceModelVariantName" yaml:"sourceModelVariantName"`
}

The configuration of `ShadowMode` inference experiment type, which specifies a production variant to take all the inference requests, and a shadow variant to which Amazon SageMaker replicates a percentage of the inference requests.

For the shadow variant it also specifies the percentage of requests that Amazon SageMaker replicates.

Example:

// 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"

shadowModeConfigProperty := &ShadowModeConfigProperty{
	ShadowModelVariants: []interface{}{
		&ShadowModelVariantConfigProperty{
			SamplingPercentage: jsii.Number(123),
			ShadowModelVariantName: jsii.String("shadowModelVariantName"),
		},
	},
	SourceModelVariantName: jsii.String("sourceModelVariantName"),
}

type CfnInferenceExperiment_ShadowModelVariantConfigProperty added in v2.70.0

type CfnInferenceExperiment_ShadowModelVariantConfigProperty struct {
	// The percentage of inference requests that Amazon SageMaker replicates from the production variant to the shadow variant.
	SamplingPercentage *float64 `field:"required" json:"samplingPercentage" yaml:"samplingPercentage"`
	// The name of the shadow variant.
	ShadowModelVariantName *string `field:"required" json:"shadowModelVariantName" yaml:"shadowModelVariantName"`
}

The name and sampling percentage of a shadow variant.

Example:

// 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"

shadowModelVariantConfigProperty := &ShadowModelVariantConfigProperty{
	SamplingPercentage: jsii.Number(123),
	ShadowModelVariantName: jsii.String("shadowModelVariantName"),
}

type CfnModel

type CfnModel interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// The name of the model, such as `MyModel` .
	AttrModelName() *string
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Specifies the containers in the inference pipeline.
	Containers() interface{}
	SetContainers(val interface{})
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// Isolates the model container.
	//
	// No inbound or outbound network calls can be made to or from the model container.
	EnableNetworkIsolation() interface{}
	SetEnableNetworkIsolation(val interface{})
	// The Amazon Resource Name (ARN) of the IAM role that SageMaker can assume to access model artifacts and docker image for deployment on ML compute instances or for batch transform jobs.
	//
	// Deploying on ML compute instances is part of model hosting. For more information, see [SageMaker Roles](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles.html) .
	//
	// > To be able to pass this role to SageMaker, the caller of this API must have the `iam:PassRole` permission.
	ExecutionRoleArn() *string
	SetExecutionRoleArn(val *string)
	// Specifies details of how containers in a multi-container endpoint are called.
	InferenceExecutionConfig() interface{}
	SetInferenceExecutionConfig(val interface{})
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The name of the new model.
	ModelName() *string
	SetModelName(val *string)
	// The tree node.
	Node() constructs.Node
	// The location of the primary docker image containing inference code, associated artifacts, and custom environment map that the inference code uses when the model is deployed for predictions.
	PrimaryContainer() interface{}
	SetPrimaryContainer(val interface{})
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// A list of key-value pairs to apply to this resource.
	//
	// For more information, see [Resource Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) and [Using Cost Allocation Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what) in the *AWS Billing and Cost Management User Guide* .
	Tags() awscdk.TagManager
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// A [VpcConfig](https://docs.aws.amazon.com/sagemaker/latest/dg/API_VpcConfig.html) object that specifies the VPC that you want your model to connect to. Control access to and from your model container by configuring the VPC. `VpcConfig` is used in hosting services and in batch transform. For more information, see [Protect Endpoints by Using an Amazon Virtual Private Cloud](https://docs.aws.amazon.com/sagemaker/latest/dg/host-vpc.html) and [Protect Data in Batch Transform Jobs by Using an Amazon Virtual Private Cloud](https://docs.aws.amazon.com/sagemaker/latest/dg/batch-vpc.html) .
	VpcConfig() interface{}
	SetVpcConfig(val interface{})
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// 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`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::SageMaker::Model`.

The `AWS::SageMaker::Model` resource to create a model to host at an Amazon SageMaker endpoint. For more information, see [Deploying a Model on Amazon SageMaker Hosting Services](https://docs.aws.amazon.com/sagemaker/latest/dg/how-it-works-hosting.html) in the *Amazon SageMaker Developer Guide* .

Example:

// 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"

var environment interface{}

cfnModel := awscdk.Aws_sagemaker.NewCfnModel(this, jsii.String("MyCfnModel"), &CfnModelProps{
	ExecutionRoleArn: jsii.String("executionRoleArn"),

	// the properties below are optional
	Containers: []interface{}{
		&ContainerDefinitionProperty{
			ContainerHostname: jsii.String("containerHostname"),
			Environment: environment,
			Image: jsii.String("image"),
			ImageConfig: &ImageConfigProperty{
				RepositoryAccessMode: jsii.String("repositoryAccessMode"),

				// the properties below are optional
				RepositoryAuthConfig: &RepositoryAuthConfigProperty{
					RepositoryCredentialsProviderArn: jsii.String("repositoryCredentialsProviderArn"),
				},
			},
			InferenceSpecificationName: jsii.String("inferenceSpecificationName"),
			Mode: jsii.String("mode"),
			ModelDataUrl: jsii.String("modelDataUrl"),
			ModelPackageName: jsii.String("modelPackageName"),
			MultiModelConfig: &MultiModelConfigProperty{
				ModelCacheSetting: jsii.String("modelCacheSetting"),
			},
		},
	},
	EnableNetworkIsolation: jsii.Boolean(false),
	InferenceExecutionConfig: &InferenceExecutionConfigProperty{
		Mode: jsii.String("mode"),
	},
	ModelName: jsii.String("modelName"),
	PrimaryContainer: &ContainerDefinitionProperty{
		ContainerHostname: jsii.String("containerHostname"),
		Environment: environment,
		Image: jsii.String("image"),
		ImageConfig: &ImageConfigProperty{
			RepositoryAccessMode: jsii.String("repositoryAccessMode"),

			// the properties below are optional
			RepositoryAuthConfig: &RepositoryAuthConfigProperty{
				RepositoryCredentialsProviderArn: jsii.String("repositoryCredentialsProviderArn"),
			},
		},
		InferenceSpecificationName: jsii.String("inferenceSpecificationName"),
		Mode: jsii.String("mode"),
		ModelDataUrl: jsii.String("modelDataUrl"),
		ModelPackageName: jsii.String("modelPackageName"),
		MultiModelConfig: &MultiModelConfigProperty{
			ModelCacheSetting: jsii.String("modelCacheSetting"),
		},
	},
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
	VpcConfig: &VpcConfigProperty{
		SecurityGroupIds: []*string{
			jsii.String("securityGroupIds"),
		},
		Subnets: []*string{
			jsii.String("subnets"),
		},
	},
})

func NewCfnModel

func NewCfnModel(scope constructs.Construct, id *string, props *CfnModelProps) CfnModel

Create a new `AWS::SageMaker::Model`.

type CfnModelBiasJobDefinition

type CfnModelBiasJobDefinition interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// The time when the job definition was created.
	AttrCreationTime() *string
	// The Amazon Resource Name (ARN) of the job definition.
	AttrJobDefinitionArn() *string
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// `AWS::SageMaker::ModelBiasJobDefinition.EndpointName`.
	EndpointName() *string
	SetEndpointName(val *string)
	// The name of the bias job definition.
	//
	// The name must be unique within an AWS Region in the AWS account.
	JobDefinitionName() *string
	SetJobDefinitionName(val *string)
	// Identifies the resources to deploy for a monitoring job.
	JobResources() interface{}
	SetJobResources(val interface{})
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// Configures the model bias job to run a specified Docker container image.
	ModelBiasAppSpecification() interface{}
	SetModelBiasAppSpecification(val interface{})
	// The baseline configuration for a model bias job.
	ModelBiasBaselineConfig() interface{}
	SetModelBiasBaselineConfig(val interface{})
	// Inputs for the model bias job.
	ModelBiasJobInput() interface{}
	SetModelBiasJobInput(val interface{})
	// The output configuration for monitoring jobs.
	ModelBiasJobOutputConfig() interface{}
	SetModelBiasJobOutputConfig(val interface{})
	// Networking options for a model bias job.
	NetworkConfig() interface{}
	SetNetworkConfig(val interface{})
	// The tree node.
	Node() constructs.Node
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform tasks on your behalf.
	RoleArn() *string
	SetRoleArn(val *string)
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// A time limit for how long the monitoring job is allowed to run before stopping.
	StoppingCondition() interface{}
	SetStoppingCondition(val interface{})
	// An array of key-value pairs to apply to this resource.
	//
	// For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .
	Tags() awscdk.TagManager
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// 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`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::SageMaker::ModelBiasJobDefinition`.

Creates the definition for a model bias job.

Example:

// 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"

cfnModelBiasJobDefinition := awscdk.Aws_sagemaker.NewCfnModelBiasJobDefinition(this, jsii.String("MyCfnModelBiasJobDefinition"), &CfnModelBiasJobDefinitionProps{
	JobResources: &MonitoringResourcesProperty{
		ClusterConfig: &ClusterConfigProperty{
			InstanceCount: jsii.Number(123),
			InstanceType: jsii.String("instanceType"),
			VolumeSizeInGb: jsii.Number(123),

			// the properties below are optional
			VolumeKmsKeyId: jsii.String("volumeKmsKeyId"),
		},
	},
	ModelBiasAppSpecification: &ModelBiasAppSpecificationProperty{
		ConfigUri: jsii.String("configUri"),
		ImageUri: jsii.String("imageUri"),

		// the properties below are optional
		Environment: map[string]*string{
			"environmentKey": jsii.String("environment"),
		},
	},
	ModelBiasJobInput: &ModelBiasJobInputProperty{
		GroundTruthS3Input: &MonitoringGroundTruthS3InputProperty{
			S3Uri: jsii.String("s3Uri"),
		},

		// the properties below are optional
		BatchTransformInput: &BatchTransformInputProperty{
			DataCapturedDestinationS3Uri: jsii.String("dataCapturedDestinationS3Uri"),
			DatasetFormat: &DatasetFormatProperty{
				Csv: &CsvProperty{
					Header: jsii.Boolean(false),
				},
				Json: &JsonProperty{
					Line: jsii.Boolean(false),
				},
				Parquet: jsii.Boolean(false),
			},
			LocalPath: jsii.String("localPath"),

			// the properties below are optional
			EndTimeOffset: jsii.String("endTimeOffset"),
			FeaturesAttribute: jsii.String("featuresAttribute"),
			InferenceAttribute: jsii.String("inferenceAttribute"),
			ProbabilityAttribute: jsii.String("probabilityAttribute"),
			ProbabilityThresholdAttribute: jsii.Number(123),
			S3DataDistributionType: jsii.String("s3DataDistributionType"),
			S3InputMode: jsii.String("s3InputMode"),
			StartTimeOffset: jsii.String("startTimeOffset"),
		},
		EndpointInput: &EndpointInputProperty{
			EndpointName: jsii.String("endpointName"),
			LocalPath: jsii.String("localPath"),

			// the properties below are optional
			EndTimeOffset: jsii.String("endTimeOffset"),
			FeaturesAttribute: jsii.String("featuresAttribute"),
			InferenceAttribute: jsii.String("inferenceAttribute"),
			ProbabilityAttribute: jsii.String("probabilityAttribute"),
			ProbabilityThresholdAttribute: jsii.Number(123),
			S3DataDistributionType: jsii.String("s3DataDistributionType"),
			S3InputMode: jsii.String("s3InputMode"),
			StartTimeOffset: jsii.String("startTimeOffset"),
		},
	},
	ModelBiasJobOutputConfig: &MonitoringOutputConfigProperty{
		MonitoringOutputs: []interface{}{
			&MonitoringOutputProperty{
				S3Output: &S3OutputProperty{
					LocalPath: jsii.String("localPath"),
					S3Uri: jsii.String("s3Uri"),

					// the properties below are optional
					S3UploadMode: jsii.String("s3UploadMode"),
				},
			},
		},

		// the properties below are optional
		KmsKeyId: jsii.String("kmsKeyId"),
	},
	RoleArn: jsii.String("roleArn"),

	// the properties below are optional
	EndpointName: jsii.String("endpointName"),
	JobDefinitionName: jsii.String("jobDefinitionName"),
	ModelBiasBaselineConfig: &ModelBiasBaselineConfigProperty{
		BaseliningJobName: jsii.String("baseliningJobName"),
		ConstraintsResource: &ConstraintsResourceProperty{
			S3Uri: jsii.String("s3Uri"),
		},
	},
	NetworkConfig: &NetworkConfigProperty{
		EnableInterContainerTrafficEncryption: jsii.Boolean(false),
		EnableNetworkIsolation: jsii.Boolean(false),
		VpcConfig: &VpcConfigProperty{
			SecurityGroupIds: []*string{
				jsii.String("securityGroupIds"),
			},
			Subnets: []*string{
				jsii.String("subnets"),
			},
		},
	},
	StoppingCondition: &StoppingConditionProperty{
		MaxRuntimeInSeconds: jsii.Number(123),
	},
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
})

func NewCfnModelBiasJobDefinition

func NewCfnModelBiasJobDefinition(scope constructs.Construct, id *string, props *CfnModelBiasJobDefinitionProps) CfnModelBiasJobDefinition

Create a new `AWS::SageMaker::ModelBiasJobDefinition`.

type CfnModelBiasJobDefinitionProps

type CfnModelBiasJobDefinitionProps struct {
	// Identifies the resources to deploy for a monitoring job.
	JobResources interface{} `field:"required" json:"jobResources" yaml:"jobResources"`
	// Configures the model bias job to run a specified Docker container image.
	ModelBiasAppSpecification interface{} `field:"required" json:"modelBiasAppSpecification" yaml:"modelBiasAppSpecification"`
	// Inputs for the model bias job.
	ModelBiasJobInput interface{} `field:"required" json:"modelBiasJobInput" yaml:"modelBiasJobInput"`
	// The output configuration for monitoring jobs.
	ModelBiasJobOutputConfig interface{} `field:"required" json:"modelBiasJobOutputConfig" yaml:"modelBiasJobOutputConfig"`
	// The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform tasks on your behalf.
	RoleArn *string `field:"required" json:"roleArn" yaml:"roleArn"`
	// `AWS::SageMaker::ModelBiasJobDefinition.EndpointName`.
	EndpointName *string `field:"optional" json:"endpointName" yaml:"endpointName"`
	// The name of the bias job definition.
	//
	// The name must be unique within an AWS Region in the AWS account.
	JobDefinitionName *string `field:"optional" json:"jobDefinitionName" yaml:"jobDefinitionName"`
	// The baseline configuration for a model bias job.
	ModelBiasBaselineConfig interface{} `field:"optional" json:"modelBiasBaselineConfig" yaml:"modelBiasBaselineConfig"`
	// Networking options for a model bias job.
	NetworkConfig interface{} `field:"optional" json:"networkConfig" yaml:"networkConfig"`
	// A time limit for how long the monitoring job is allowed to run before stopping.
	StoppingCondition interface{} `field:"optional" json:"stoppingCondition" yaml:"stoppingCondition"`
	// An array of key-value pairs to apply to this resource.
	//
	// For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
}

Properties for defining a `CfnModelBiasJobDefinition`.

Example:

// 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"

cfnModelBiasJobDefinitionProps := &CfnModelBiasJobDefinitionProps{
	JobResources: &MonitoringResourcesProperty{
		ClusterConfig: &ClusterConfigProperty{
			InstanceCount: jsii.Number(123),
			InstanceType: jsii.String("instanceType"),
			VolumeSizeInGb: jsii.Number(123),

			// the properties below are optional
			VolumeKmsKeyId: jsii.String("volumeKmsKeyId"),
		},
	},
	ModelBiasAppSpecification: &ModelBiasAppSpecificationProperty{
		ConfigUri: jsii.String("configUri"),
		ImageUri: jsii.String("imageUri"),

		// the properties below are optional
		Environment: map[string]*string{
			"environmentKey": jsii.String("environment"),
		},
	},
	ModelBiasJobInput: &ModelBiasJobInputProperty{
		GroundTruthS3Input: &MonitoringGroundTruthS3InputProperty{
			S3Uri: jsii.String("s3Uri"),
		},

		// the properties below are optional
		BatchTransformInput: &BatchTransformInputProperty{
			DataCapturedDestinationS3Uri: jsii.String("dataCapturedDestinationS3Uri"),
			DatasetFormat: &DatasetFormatProperty{
				Csv: &CsvProperty{
					Header: jsii.Boolean(false),
				},
				Json: &JsonProperty{
					Line: jsii.Boolean(false),
				},
				Parquet: jsii.Boolean(false),
			},
			LocalPath: jsii.String("localPath"),

			// the properties below are optional
			EndTimeOffset: jsii.String("endTimeOffset"),
			FeaturesAttribute: jsii.String("featuresAttribute"),
			InferenceAttribute: jsii.String("inferenceAttribute"),
			ProbabilityAttribute: jsii.String("probabilityAttribute"),
			ProbabilityThresholdAttribute: jsii.Number(123),
			S3DataDistributionType: jsii.String("s3DataDistributionType"),
			S3InputMode: jsii.String("s3InputMode"),
			StartTimeOffset: jsii.String("startTimeOffset"),
		},
		EndpointInput: &EndpointInputProperty{
			EndpointName: jsii.String("endpointName"),
			LocalPath: jsii.String("localPath"),

			// the properties below are optional
			EndTimeOffset: jsii.String("endTimeOffset"),
			FeaturesAttribute: jsii.String("featuresAttribute"),
			InferenceAttribute: jsii.String("inferenceAttribute"),
			ProbabilityAttribute: jsii.String("probabilityAttribute"),
			ProbabilityThresholdAttribute: jsii.Number(123),
			S3DataDistributionType: jsii.String("s3DataDistributionType"),
			S3InputMode: jsii.String("s3InputMode"),
			StartTimeOffset: jsii.String("startTimeOffset"),
		},
	},
	ModelBiasJobOutputConfig: &MonitoringOutputConfigProperty{
		MonitoringOutputs: []interface{}{
			&MonitoringOutputProperty{
				S3Output: &S3OutputProperty{
					LocalPath: jsii.String("localPath"),
					S3Uri: jsii.String("s3Uri"),

					// the properties below are optional
					S3UploadMode: jsii.String("s3UploadMode"),
				},
			},
		},

		// the properties below are optional
		KmsKeyId: jsii.String("kmsKeyId"),
	},
	RoleArn: jsii.String("roleArn"),

	// the properties below are optional
	EndpointName: jsii.String("endpointName"),
	JobDefinitionName: jsii.String("jobDefinitionName"),
	ModelBiasBaselineConfig: &ModelBiasBaselineConfigProperty{
		BaseliningJobName: jsii.String("baseliningJobName"),
		ConstraintsResource: &ConstraintsResourceProperty{
			S3Uri: jsii.String("s3Uri"),
		},
	},
	NetworkConfig: &NetworkConfigProperty{
		EnableInterContainerTrafficEncryption: jsii.Boolean(false),
		EnableNetworkIsolation: jsii.Boolean(false),
		VpcConfig: &VpcConfigProperty{
			SecurityGroupIds: []*string{
				jsii.String("securityGroupIds"),
			},
			Subnets: []*string{
				jsii.String("subnets"),
			},
		},
	},
	StoppingCondition: &StoppingConditionProperty{
		MaxRuntimeInSeconds: jsii.Number(123),
	},
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
}

type CfnModelBiasJobDefinition_BatchTransformInputProperty added in v2.48.0

type CfnModelBiasJobDefinition_BatchTransformInputProperty struct {
	// `CfnModelBiasJobDefinition.BatchTransformInputProperty.DataCapturedDestinationS3Uri`.
	DataCapturedDestinationS3Uri *string `field:"required" json:"dataCapturedDestinationS3Uri" yaml:"dataCapturedDestinationS3Uri"`
	// `CfnModelBiasJobDefinition.BatchTransformInputProperty.DatasetFormat`.
	DatasetFormat interface{} `field:"required" json:"datasetFormat" yaml:"datasetFormat"`
	// `CfnModelBiasJobDefinition.BatchTransformInputProperty.LocalPath`.
	LocalPath *string `field:"required" json:"localPath" yaml:"localPath"`
	// `CfnModelBiasJobDefinition.BatchTransformInputProperty.EndTimeOffset`.
	EndTimeOffset *string `field:"optional" json:"endTimeOffset" yaml:"endTimeOffset"`
	// `CfnModelBiasJobDefinition.BatchTransformInputProperty.FeaturesAttribute`.
	FeaturesAttribute *string `field:"optional" json:"featuresAttribute" yaml:"featuresAttribute"`
	// `CfnModelBiasJobDefinition.BatchTransformInputProperty.InferenceAttribute`.
	InferenceAttribute *string `field:"optional" json:"inferenceAttribute" yaml:"inferenceAttribute"`
	// `CfnModelBiasJobDefinition.BatchTransformInputProperty.ProbabilityAttribute`.
	ProbabilityAttribute *string `field:"optional" json:"probabilityAttribute" yaml:"probabilityAttribute"`
	// `CfnModelBiasJobDefinition.BatchTransformInputProperty.ProbabilityThresholdAttribute`.
	ProbabilityThresholdAttribute *float64 `field:"optional" json:"probabilityThresholdAttribute" yaml:"probabilityThresholdAttribute"`
	// `CfnModelBiasJobDefinition.BatchTransformInputProperty.S3DataDistributionType`.
	S3DataDistributionType *string `field:"optional" json:"s3DataDistributionType" yaml:"s3DataDistributionType"`
	// `CfnModelBiasJobDefinition.BatchTransformInputProperty.S3InputMode`.
	S3InputMode *string `field:"optional" json:"s3InputMode" yaml:"s3InputMode"`
	// `CfnModelBiasJobDefinition.BatchTransformInputProperty.StartTimeOffset`.
	StartTimeOffset *string `field:"optional" json:"startTimeOffset" yaml:"startTimeOffset"`
}

Example:

// 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"

batchTransformInputProperty := &BatchTransformInputProperty{
	DataCapturedDestinationS3Uri: jsii.String("dataCapturedDestinationS3Uri"),
	DatasetFormat: &DatasetFormatProperty{
		Csv: &CsvProperty{
			Header: jsii.Boolean(false),
		},
		Json: &JsonProperty{
			Line: jsii.Boolean(false),
		},
		Parquet: jsii.Boolean(false),
	},
	LocalPath: jsii.String("localPath"),

	// the properties below are optional
	EndTimeOffset: jsii.String("endTimeOffset"),
	FeaturesAttribute: jsii.String("featuresAttribute"),
	InferenceAttribute: jsii.String("inferenceAttribute"),
	ProbabilityAttribute: jsii.String("probabilityAttribute"),
	ProbabilityThresholdAttribute: jsii.Number(123),
	S3DataDistributionType: jsii.String("s3DataDistributionType"),
	S3InputMode: jsii.String("s3InputMode"),
	StartTimeOffset: jsii.String("startTimeOffset"),
}

type CfnModelBiasJobDefinition_ClusterConfigProperty

type CfnModelBiasJobDefinition_ClusterConfigProperty struct {
	// The number of ML compute instances to use in the model monitoring job.
	//
	// For distributed processing jobs, specify a value greater than 1. The default value is 1.
	InstanceCount *float64 `field:"required" json:"instanceCount" yaml:"instanceCount"`
	// The ML compute instance type for the processing job.
	InstanceType *string `field:"required" json:"instanceType" yaml:"instanceType"`
	// The size of the ML storage volume, in gigabytes, that you want to provision.
	//
	// You must specify sufficient ML storage for your scenario.
	VolumeSizeInGb *float64 `field:"required" json:"volumeSizeInGb" yaml:"volumeSizeInGb"`
	// The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance(s) that run the model monitoring job.
	VolumeKmsKeyId *string `field:"optional" json:"volumeKmsKeyId" yaml:"volumeKmsKeyId"`
}

The configuration for the cluster resources used to run the processing job.

Example:

// 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"

clusterConfigProperty := &ClusterConfigProperty{
	InstanceCount: jsii.Number(123),
	InstanceType: jsii.String("instanceType"),
	VolumeSizeInGb: jsii.Number(123),

	// the properties below are optional
	VolumeKmsKeyId: jsii.String("volumeKmsKeyId"),
}

type CfnModelBiasJobDefinition_ConstraintsResourceProperty

type CfnModelBiasJobDefinition_ConstraintsResourceProperty struct {
	// The Amazon S3 URI for the constraints resource.
	S3Uri *string `field:"optional" json:"s3Uri" yaml:"s3Uri"`
}

The constraints resource for a monitoring job.

Example:

// 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"

constraintsResourceProperty := &ConstraintsResourceProperty{
	S3Uri: jsii.String("s3Uri"),
}

type CfnModelBiasJobDefinition_CsvProperty added in v2.48.0

type CfnModelBiasJobDefinition_CsvProperty struct {
	// `CfnModelBiasJobDefinition.CsvProperty.Header`.
	Header interface{} `field:"optional" json:"header" yaml:"header"`
}

Example:

// 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"

csvProperty := &CsvProperty{
	Header: jsii.Boolean(false),
}

type CfnModelBiasJobDefinition_DatasetFormatProperty added in v2.48.0

type CfnModelBiasJobDefinition_DatasetFormatProperty struct {
	// `CfnModelBiasJobDefinition.DatasetFormatProperty.Csv`.
	Csv interface{} `field:"optional" json:"csv" yaml:"csv"`
	// `CfnModelBiasJobDefinition.DatasetFormatProperty.Json`.
	Json interface{} `field:"optional" json:"json" yaml:"json"`
	// `CfnModelBiasJobDefinition.DatasetFormatProperty.Parquet`.
	Parquet interface{} `field:"optional" json:"parquet" yaml:"parquet"`
}

Example:

// 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"

datasetFormatProperty := &DatasetFormatProperty{
	Csv: &CsvProperty{
		Header: jsii.Boolean(false),
	},
	Json: &JsonProperty{
		Line: jsii.Boolean(false),
	},
	Parquet: jsii.Boolean(false),
}

type CfnModelBiasJobDefinition_EndpointInputProperty

type CfnModelBiasJobDefinition_EndpointInputProperty struct {
	// An endpoint in customer's account which has enabled `DataCaptureConfig` enabled.
	EndpointName *string `field:"required" json:"endpointName" yaml:"endpointName"`
	// Path to the filesystem where the endpoint data is available to the container.
	LocalPath *string `field:"required" json:"localPath" yaml:"localPath"`
	// If specified, monitoring jobs substract this time from the end time.
	//
	// For information about using offsets for scheduling monitoring jobs, see [Schedule Model Quality Monitoring Jobs](https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor-model-quality-schedule.html) .
	EndTimeOffset *string `field:"optional" json:"endTimeOffset" yaml:"endTimeOffset"`
	// The attributes of the input data that are the input features.
	FeaturesAttribute *string `field:"optional" json:"featuresAttribute" yaml:"featuresAttribute"`
	// The attribute of the input data that represents the ground truth label.
	InferenceAttribute *string `field:"optional" json:"inferenceAttribute" yaml:"inferenceAttribute"`
	// In a classification problem, the attribute that represents the class probability.
	ProbabilityAttribute *string `field:"optional" json:"probabilityAttribute" yaml:"probabilityAttribute"`
	// The threshold for the class probability to be evaluated as a positive result.
	ProbabilityThresholdAttribute *float64 `field:"optional" json:"probabilityThresholdAttribute" yaml:"probabilityThresholdAttribute"`
	// Whether input data distributed in Amazon S3 is fully replicated or sharded by an S3 key.
	//
	// Defaults to `FullyReplicated`.
	S3DataDistributionType *string `field:"optional" json:"s3DataDistributionType" yaml:"s3DataDistributionType"`
	// Whether the `Pipe` or `File` is used as the input mode for transferring data for the monitoring job.
	//
	// `Pipe` mode is recommended for large datasets. `File` mode is useful for small files that fit in memory. Defaults to `File` .
	S3InputMode *string `field:"optional" json:"s3InputMode" yaml:"s3InputMode"`
	// If specified, monitoring jobs substract this time from the start time.
	//
	// For information about using offsets for scheduling monitoring jobs, see [Schedule Model Quality Monitoring Jobs](https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor-model-quality-schedule.html) .
	StartTimeOffset *string `field:"optional" json:"startTimeOffset" yaml:"startTimeOffset"`
}

Input object for the endpoint.

Example:

// 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"

endpointInputProperty := &EndpointInputProperty{
	EndpointName: jsii.String("endpointName"),
	LocalPath: jsii.String("localPath"),

	// the properties below are optional
	EndTimeOffset: jsii.String("endTimeOffset"),
	FeaturesAttribute: jsii.String("featuresAttribute"),
	InferenceAttribute: jsii.String("inferenceAttribute"),
	ProbabilityAttribute: jsii.String("probabilityAttribute"),
	ProbabilityThresholdAttribute: jsii.Number(123),
	S3DataDistributionType: jsii.String("s3DataDistributionType"),
	S3InputMode: jsii.String("s3InputMode"),
	StartTimeOffset: jsii.String("startTimeOffset"),
}

type CfnModelBiasJobDefinition_JsonProperty added in v2.48.0

type CfnModelBiasJobDefinition_JsonProperty struct {
	// `CfnModelBiasJobDefinition.JsonProperty.Line`.
	Line interface{} `field:"optional" json:"line" yaml:"line"`
}

Example:

// 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"

jsonProperty := &JsonProperty{
	Line: jsii.Boolean(false),
}

type CfnModelBiasJobDefinition_ModelBiasAppSpecificationProperty

type CfnModelBiasJobDefinition_ModelBiasAppSpecificationProperty struct {
	// JSON formatted S3 file that defines bias parameters.
	//
	// For more information on this JSON configuration file, see [Configure bias parameters](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-config-json-monitor-bias-parameters.html) .
	ConfigUri *string `field:"required" json:"configUri" yaml:"configUri"`
	// The container image to be run by the model bias job.
	ImageUri *string `field:"required" json:"imageUri" yaml:"imageUri"`
	// Sets the environment variables in the Docker container.
	Environment interface{} `field:"optional" json:"environment" yaml:"environment"`
}

Docker container image configuration object for the model bias job.

Example:

// 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"

modelBiasAppSpecificationProperty := &ModelBiasAppSpecificationProperty{
	ConfigUri: jsii.String("configUri"),
	ImageUri: jsii.String("imageUri"),

	// the properties below are optional
	Environment: map[string]*string{
		"environmentKey": jsii.String("environment"),
	},
}

type CfnModelBiasJobDefinition_ModelBiasBaselineConfigProperty

type CfnModelBiasJobDefinition_ModelBiasBaselineConfigProperty struct {
	// The name of the baseline model bias job.
	BaseliningJobName *string `field:"optional" json:"baseliningJobName" yaml:"baseliningJobName"`
	// The constraints resource for a monitoring job.
	ConstraintsResource interface{} `field:"optional" json:"constraintsResource" yaml:"constraintsResource"`
}

The configuration for a baseline model bias job.

Example:

// 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"

modelBiasBaselineConfigProperty := &ModelBiasBaselineConfigProperty{
	BaseliningJobName: jsii.String("baseliningJobName"),
	ConstraintsResource: &ConstraintsResourceProperty{
		S3Uri: jsii.String("s3Uri"),
	},
}

type CfnModelBiasJobDefinition_ModelBiasJobInputProperty

type CfnModelBiasJobDefinition_ModelBiasJobInputProperty struct {
	// Location of ground truth labels to use in model bias job.
	GroundTruthS3Input interface{} `field:"required" json:"groundTruthS3Input" yaml:"groundTruthS3Input"`
	// `CfnModelBiasJobDefinition.ModelBiasJobInputProperty.BatchTransformInput`.
	BatchTransformInput interface{} `field:"optional" json:"batchTransformInput" yaml:"batchTransformInput"`
	// Input object for the endpoint.
	EndpointInput interface{} `field:"optional" json:"endpointInput" yaml:"endpointInput"`
}

Inputs for the model bias job.

Example:

// 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"

modelBiasJobInputProperty := &ModelBiasJobInputProperty{
	GroundTruthS3Input: &MonitoringGroundTruthS3InputProperty{
		S3Uri: jsii.String("s3Uri"),
	},

	// the properties below are optional
	BatchTransformInput: &BatchTransformInputProperty{
		DataCapturedDestinationS3Uri: jsii.String("dataCapturedDestinationS3Uri"),
		DatasetFormat: &DatasetFormatProperty{
			Csv: &CsvProperty{
				Header: jsii.Boolean(false),
			},
			Json: &JsonProperty{
				Line: jsii.Boolean(false),
			},
			Parquet: jsii.Boolean(false),
		},
		LocalPath: jsii.String("localPath"),

		// the properties below are optional
		EndTimeOffset: jsii.String("endTimeOffset"),
		FeaturesAttribute: jsii.String("featuresAttribute"),
		InferenceAttribute: jsii.String("inferenceAttribute"),
		ProbabilityAttribute: jsii.String("probabilityAttribute"),
		ProbabilityThresholdAttribute: jsii.Number(123),
		S3DataDistributionType: jsii.String("s3DataDistributionType"),
		S3InputMode: jsii.String("s3InputMode"),
		StartTimeOffset: jsii.String("startTimeOffset"),
	},
	EndpointInput: &EndpointInputProperty{
		EndpointName: jsii.String("endpointName"),
		LocalPath: jsii.String("localPath"),

		// the properties below are optional
		EndTimeOffset: jsii.String("endTimeOffset"),
		FeaturesAttribute: jsii.String("featuresAttribute"),
		InferenceAttribute: jsii.String("inferenceAttribute"),
		ProbabilityAttribute: jsii.String("probabilityAttribute"),
		ProbabilityThresholdAttribute: jsii.Number(123),
		S3DataDistributionType: jsii.String("s3DataDistributionType"),
		S3InputMode: jsii.String("s3InputMode"),
		StartTimeOffset: jsii.String("startTimeOffset"),
	},
}

type CfnModelBiasJobDefinition_MonitoringGroundTruthS3InputProperty

type CfnModelBiasJobDefinition_MonitoringGroundTruthS3InputProperty struct {
	// The address of the Amazon S3 location of the ground truth labels.
	S3Uri *string `field:"required" json:"s3Uri" yaml:"s3Uri"`
}

The ground truth labels for the dataset used for the monitoring job.

Example:

// 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"

monitoringGroundTruthS3InputProperty := &MonitoringGroundTruthS3InputProperty{
	S3Uri: jsii.String("s3Uri"),
}

type CfnModelBiasJobDefinition_MonitoringOutputConfigProperty

type CfnModelBiasJobDefinition_MonitoringOutputConfigProperty struct {
	// Monitoring outputs for monitoring jobs.
	//
	// This is where the output of the periodic monitoring jobs is uploaded.
	MonitoringOutputs interface{} `field:"required" json:"monitoringOutputs" yaml:"monitoringOutputs"`
	// The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt the model artifacts at rest using Amazon S3 server-side encryption.
	KmsKeyId *string `field:"optional" json:"kmsKeyId" yaml:"kmsKeyId"`
}

The output configuration for monitoring jobs.

Example:

// 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"

monitoringOutputConfigProperty := &MonitoringOutputConfigProperty{
	MonitoringOutputs: []interface{}{
		&MonitoringOutputProperty{
			S3Output: &S3OutputProperty{
				LocalPath: jsii.String("localPath"),
				S3Uri: jsii.String("s3Uri"),

				// the properties below are optional
				S3UploadMode: jsii.String("s3UploadMode"),
			},
		},
	},

	// the properties below are optional
	KmsKeyId: jsii.String("kmsKeyId"),
}

type CfnModelBiasJobDefinition_MonitoringOutputProperty

type CfnModelBiasJobDefinition_MonitoringOutputProperty struct {
	// The Amazon S3 storage location where the results of a monitoring job are saved.
	S3Output interface{} `field:"required" json:"s3Output" yaml:"s3Output"`
}

The output object for a monitoring job.

Example:

// 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"

monitoringOutputProperty := &MonitoringOutputProperty{
	S3Output: &S3OutputProperty{
		LocalPath: jsii.String("localPath"),
		S3Uri: jsii.String("s3Uri"),

		// the properties below are optional
		S3UploadMode: jsii.String("s3UploadMode"),
	},
}

type CfnModelBiasJobDefinition_MonitoringResourcesProperty

type CfnModelBiasJobDefinition_MonitoringResourcesProperty struct {
	// The configuration for the cluster resources used to run the processing job.
	ClusterConfig interface{} `field:"required" json:"clusterConfig" yaml:"clusterConfig"`
}

Identifies the resources to deploy for a monitoring job.

Example:

// 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"

monitoringResourcesProperty := &MonitoringResourcesProperty{
	ClusterConfig: &ClusterConfigProperty{
		InstanceCount: jsii.Number(123),
		InstanceType: jsii.String("instanceType"),
		VolumeSizeInGb: jsii.Number(123),

		// the properties below are optional
		VolumeKmsKeyId: jsii.String("volumeKmsKeyId"),
	},
}

type CfnModelBiasJobDefinition_NetworkConfigProperty

type CfnModelBiasJobDefinition_NetworkConfigProperty struct {
	// Whether to encrypt all communications between distributed processing jobs.
	//
	// Choose `True` to encrypt communications. Encryption provides greater security for distributed processing jobs, but the processing might take longer.
	EnableInterContainerTrafficEncryption interface{} `field:"optional" json:"enableInterContainerTrafficEncryption" yaml:"enableInterContainerTrafficEncryption"`
	// Whether to allow inbound and outbound network calls to and from the containers used for the processing job.
	EnableNetworkIsolation interface{} `field:"optional" json:"enableNetworkIsolation" yaml:"enableNetworkIsolation"`
	// Specifies a VPC that your training jobs and hosted models have access to.
	//
	// Control access to and from your training and model containers by configuring the VPC.
	VpcConfig interface{} `field:"optional" json:"vpcConfig" yaml:"vpcConfig"`
}

Networking options for a job, such as network traffic encryption between containers, whether to allow inbound and outbound network calls to and from containers, and the VPC subnets and security groups to use for VPC-enabled jobs.

Example:

// 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"

networkConfigProperty := &NetworkConfigProperty{
	EnableInterContainerTrafficEncryption: jsii.Boolean(false),
	EnableNetworkIsolation: jsii.Boolean(false),
	VpcConfig: &VpcConfigProperty{
		SecurityGroupIds: []*string{
			jsii.String("securityGroupIds"),
		},
		Subnets: []*string{
			jsii.String("subnets"),
		},
	},
}

type CfnModelBiasJobDefinition_S3OutputProperty

type CfnModelBiasJobDefinition_S3OutputProperty struct {
	// The local path to the Amazon S3 storage location where Amazon SageMaker saves the results of a monitoring job.
	//
	// `LocalPath` is an absolute path for the output data.
	LocalPath *string `field:"required" json:"localPath" yaml:"localPath"`
	// A URI that identifies the Amazon S3 storage location where Amazon SageMaker saves the results of a monitoring job.
	S3Uri *string `field:"required" json:"s3Uri" yaml:"s3Uri"`
	// Whether to upload the results of the monitoring job continuously or after the job completes.
	S3UploadMode *string `field:"optional" json:"s3UploadMode" yaml:"s3UploadMode"`
}

The Amazon S3 storage location where the results of a monitoring job are saved.

Example:

// 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"

s3OutputProperty := &S3OutputProperty{
	LocalPath: jsii.String("localPath"),
	S3Uri: jsii.String("s3Uri"),

	// the properties below are optional
	S3UploadMode: jsii.String("s3UploadMode"),
}

type CfnModelBiasJobDefinition_StoppingConditionProperty

type CfnModelBiasJobDefinition_StoppingConditionProperty struct {
	// The maximum length of time, in seconds, that a training or compilation job can run before it is stopped.
	//
	// For compilation jobs, if the job does not complete during this time, a `TimeOut` error is generated. We recommend starting with 900 seconds and increasing as necessary based on your model.
	//
	// For all other jobs, if the job does not complete during this time, SageMaker ends the job. When `RetryStrategy` is specified in the job request, `MaxRuntimeInSeconds` specifies the maximum time for all of the attempts in total, not each individual attempt. The default value is 1 day. The maximum value is 28 days.
	//
	// The maximum time that a `TrainingJob` can run in total, including any time spent publishing metrics or archiving and uploading models after it has been stopped, is 30 days.
	MaxRuntimeInSeconds *float64 `field:"required" json:"maxRuntimeInSeconds" yaml:"maxRuntimeInSeconds"`
}

Specifies a limit to how long a model training job or model compilation job can run.

It also specifies how long a managed spot training job has to complete. When the job reaches the time limit, SageMaker ends the training or compilation job. Use this API to cap model training costs.

To stop a training job, SageMaker sends the algorithm the `SIGTERM` signal, which delays job termination for 120 seconds. Algorithms can use this 120-second window to save the model artifacts, so the results of training are not lost.

The training algorithms provided by SageMaker automatically save the intermediate results of a model training job when possible. This attempt to save artifacts is only a best effort case as model might not be in a state from which it can be saved. For example, if training has just started, the model might not be ready to save. When saved, this intermediate data is a valid model artifact. You can use it to create a model with `CreateModel` .

> The Neural Topic Model (NTM) currently does not support saving intermediate model artifacts. When training NTMs, make sure that the maximum runtime is sufficient for the training job to complete.

Example:

// 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"

stoppingConditionProperty := &StoppingConditionProperty{
	MaxRuntimeInSeconds: jsii.Number(123),
}

type CfnModelBiasJobDefinition_VpcConfigProperty

type CfnModelBiasJobDefinition_VpcConfigProperty struct {
	// The VPC security group IDs, in the form sg-xxxxxxxx.
	//
	// Specify the security groups for the VPC that is specified in the `Subnets` field.
	SecurityGroupIds *[]*string `field:"required" json:"securityGroupIds" yaml:"securityGroupIds"`
	// The ID of the subnets in the VPC to which you want to connect your training job or model.
	//
	// For information about the availability of specific instance types, see [Supported Instance Types and Availability Zones](https://docs.aws.amazon.com/sagemaker/latest/dg/instance-types-az.html) .
	Subnets *[]*string `field:"required" json:"subnets" yaml:"subnets"`
}

Specifies a VPC that your training jobs and hosted models have access to.

Control access to and from your training and model containers by configuring the VPC. For more information, see [Protect Endpoints by Using an Amazon Virtual Private Cloud](https://docs.aws.amazon.com/sagemaker/latest/dg/host-vpc.html) and [Protect Training Jobs by Using an Amazon Virtual Private Cloud](https://docs.aws.amazon.com/sagemaker/latest/dg/train-vpc.html) .

Example:

// 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"

vpcConfigProperty := &VpcConfigProperty{
	SecurityGroupIds: []*string{
		jsii.String("securityGroupIds"),
	},
	Subnets: []*string{
		jsii.String("subnets"),
	},
}

type CfnModelCard added in v2.64.0

type CfnModelCard interface {
	awscdk.CfnResource
	awscdk.IInspectable
	AttrCreatedByDomainId() *string
	AttrCreatedByUserProfileArn() *string
	AttrCreatedByUserProfileName() *string
	AttrCreationTime() *string
	AttrLastModifiedByDomainId() *string
	AttrLastModifiedByUserProfileArn() *string
	AttrLastModifiedByUserProfileName() *string
	AttrLastModifiedTime() *string
	// The Amazon Resource Number (ARN) of the model card.
	//
	// For example, `arn:aws:sagemaker:us-west-2:012345678901:modelcard/examplemodelcard` .
	AttrModelCardArn() *string
	AttrModelCardProcessingStatus() *string
	AttrModelCardVersion() *float64
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// The content of the model card.
	//
	// Content uses the [model card JSON schema](https://docs.aws.amazon.com/sagemaker/latest/dg/model-cards.html#model-cards-json-schema) .
	Content() interface{}
	SetContent(val interface{})
	// Information about the user who created or modified one or more of the following:.
	//
	// - Experiment
	// - Trial
	// - Trial component
	// - Lineage group
	// - Project
	// - Model Card.
	CreatedBy() interface{}
	SetCreatedBy(val interface{})
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// `AWS::SageMaker::ModelCard.LastModifiedBy`.
	LastModifiedBy() interface{}
	SetLastModifiedBy(val interface{})
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The unique name of the model card.
	ModelCardName() *string
	SetModelCardName(val *string)
	// The approval status of the model card within your organization.
	//
	// Different organizations might have different criteria for model card review and approval.
	//
	// - `Draft` : The model card is a work in progress.
	// - `PendingReview` : The model card is pending review.
	// - `Approved` : The model card is approved.
	// - `Archived` : The model card is archived. No more updates should be made to the model card, but it can still be exported.
	ModelCardStatus() *string
	SetModelCardStatus(val *string)
	// The tree node.
	Node() constructs.Node
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// The security configuration used to protect model card data.
	SecurityConfig() interface{}
	SetSecurityConfig(val interface{})
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// Key-value pairs used to manage metadata for the model card.
	Tags() awscdk.TagManager
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// 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`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::SageMaker::ModelCard`.

Creates an Amazon SageMaker Model Card.

For information about how to use model cards, see [Amazon SageMaker Model Card](https://docs.aws.amazon.com/sagemaker/latest/dg/model-cards.html) .

Example:

// 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"

var value interface{}

cfnModelCard := awscdk.Aws_sagemaker.NewCfnModelCard(this, jsii.String("MyCfnModelCard"), &CfnModelCardProps{
	Content: &ContentProperty{
		AdditionalInformation: &AdditionalInformationProperty{
			CaveatsAndRecommendations: jsii.String("caveatsAndRecommendations"),
			CustomDetails: map[string]*string{
				"customDetailsKey": jsii.String("customDetails"),
			},
			EthicalConsiderations: jsii.String("ethicalConsiderations"),
		},
		BusinessDetails: &BusinessDetailsProperty{
			BusinessProblem: jsii.String("businessProblem"),
			BusinessStakeholders: jsii.String("businessStakeholders"),
			LineOfBusiness: jsii.String("lineOfBusiness"),
		},
		EvaluationDetails: []interface{}{
			&EvaluationDetailProperty{
				Name: jsii.String("name"),

				// the properties below are optional
				Datasets: []*string{
					jsii.String("datasets"),
				},
				EvaluationJobArn: jsii.String("evaluationJobArn"),
				EvaluationObservation: jsii.String("evaluationObservation"),
				Metadata: map[string]*string{
					"metadataKey": jsii.String("metadata"),
				},
				MetricGroups: []interface{}{
					&MetricGroupProperty{
						MetricData: []interface{}{
							&MetricDataItemsProperty{
								Name: jsii.String("name"),
								Type: jsii.String("type"),
								Value: value,

								// the properties below are optional
								Notes: jsii.String("notes"),
								XAxisName: []*string{
									jsii.String("xAxisName"),
								},
								YAxisName: []*string{
									jsii.String("yAxisName"),
								},
							},
						},
						Name: jsii.String("name"),
					},
				},
			},
		},
		IntendedUses: &IntendedUsesProperty{
			ExplanationsForRiskRating: jsii.String("explanationsForRiskRating"),
			FactorsAffectingModelEfficiency: jsii.String("factorsAffectingModelEfficiency"),
			IntendedUses: jsii.String("intendedUses"),
			PurposeOfModel: jsii.String("purposeOfModel"),
			RiskRating: jsii.String("riskRating"),
		},
		ModelOverview: &ModelOverviewProperty{
			AlgorithmType: jsii.String("algorithmType"),
			InferenceEnvironment: &InferenceEnvironmentProperty{
				ContainerImage: []*string{
					jsii.String("containerImage"),
				},
			},
			ModelArtifact: []*string{
				jsii.String("modelArtifact"),
			},
			ModelCreator: jsii.String("modelCreator"),
			ModelDescription: jsii.String("modelDescription"),
			ModelId: jsii.String("modelId"),
			ModelName: jsii.String("modelName"),
			ModelOwner: jsii.String("modelOwner"),
			ModelVersion: jsii.Number(123),
			ProblemType: jsii.String("problemType"),
		},
		ModelPackageDetails: &ModelPackageDetailsProperty{
			ApprovalDescription: jsii.String("approvalDescription"),
			CreatedBy: &ModelPackageCreatorProperty{
				UserProfileName: jsii.String("userProfileName"),
			},
			Domain: jsii.String("domain"),
			InferenceSpecification: &InferenceSpecificationProperty{
				Containers: []interface{}{
					&ContainerProperty{
						Image: jsii.String("image"),

						// the properties below are optional
						ModelDataUrl: jsii.String("modelDataUrl"),
						NearestModelName: jsii.String("nearestModelName"),
					},
				},
			},
			ModelApprovalStatus: jsii.String("modelApprovalStatus"),
			ModelPackageArn: jsii.String("modelPackageArn"),
			ModelPackageDescription: jsii.String("modelPackageDescription"),
			ModelPackageGroupName: jsii.String("modelPackageGroupName"),
			ModelPackageName: jsii.String("modelPackageName"),
			ModelPackageStatus: jsii.String("modelPackageStatus"),
			ModelPackageVersion: jsii.Number(123),
			SourceAlgorithms: []interface{}{
				&SourceAlgorithmProperty{
					AlgorithmName: jsii.String("algorithmName"),

					// the properties below are optional
					ModelDataUrl: jsii.String("modelDataUrl"),
				},
			},
			Task: jsii.String("task"),
		},
		TrainingDetails: &TrainingDetailsProperty{
			ObjectiveFunction: &ObjectiveFunctionProperty{
				Function: &FunctionProperty{
					Condition: jsii.String("condition"),
					Facet: jsii.String("facet"),
					Function: jsii.String("function"),
				},
				Notes: jsii.String("notes"),
			},
			TrainingJobDetails: &TrainingJobDetailsProperty{
				HyperParameters: []interface{}{
					&TrainingHyperParameterProperty{
						Name: jsii.String("name"),
						Value: jsii.String("value"),
					},
				},
				TrainingArn: jsii.String("trainingArn"),
				TrainingDatasets: []*string{
					jsii.String("trainingDatasets"),
				},
				TrainingEnvironment: &TrainingEnvironmentProperty{
					ContainerImage: []*string{
						jsii.String("containerImage"),
					},
				},
				TrainingMetrics: []interface{}{
					&TrainingMetricProperty{
						Name: jsii.String("name"),
						Value: jsii.Number(123),

						// the properties below are optional
						Notes: jsii.String("notes"),
					},
				},
				UserProvidedHyperParameters: []interface{}{
					&TrainingHyperParameterProperty{
						Name: jsii.String("name"),
						Value: jsii.String("value"),
					},
				},
				UserProvidedTrainingMetrics: []interface{}{
					&TrainingMetricProperty{
						Name: jsii.String("name"),
						Value: jsii.Number(123),

						// the properties below are optional
						Notes: jsii.String("notes"),
					},
				},
			},
			TrainingObservations: jsii.String("trainingObservations"),
		},
	},
	ModelCardName: jsii.String("modelCardName"),
	ModelCardStatus: jsii.String("modelCardStatus"),

	// the properties below are optional
	CreatedBy: &UserContextProperty{
		DomainId: jsii.String("domainId"),
		UserProfileArn: jsii.String("userProfileArn"),
		UserProfileName: jsii.String("userProfileName"),
	},
	LastModifiedBy: &UserContextProperty{
		DomainId: jsii.String("domainId"),
		UserProfileArn: jsii.String("userProfileArn"),
		UserProfileName: jsii.String("userProfileName"),
	},
	SecurityConfig: &SecurityConfigProperty{
		KmsKeyId: jsii.String("kmsKeyId"),
	},
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
})

func NewCfnModelCard added in v2.64.0

func NewCfnModelCard(scope constructs.Construct, id *string, props *CfnModelCardProps) CfnModelCard

Create a new `AWS::SageMaker::ModelCard`.

type CfnModelCardProps added in v2.64.0

type CfnModelCardProps struct {
	// The content of the model card.
	//
	// Content uses the [model card JSON schema](https://docs.aws.amazon.com/sagemaker/latest/dg/model-cards.html#model-cards-json-schema) .
	Content interface{} `field:"required" json:"content" yaml:"content"`
	// The unique name of the model card.
	ModelCardName *string `field:"required" json:"modelCardName" yaml:"modelCardName"`
	// The approval status of the model card within your organization.
	//
	// Different organizations might have different criteria for model card review and approval.
	//
	// - `Draft` : The model card is a work in progress.
	// - `PendingReview` : The model card is pending review.
	// - `Approved` : The model card is approved.
	// - `Archived` : The model card is archived. No more updates should be made to the model card, but it can still be exported.
	ModelCardStatus *string `field:"required" json:"modelCardStatus" yaml:"modelCardStatus"`
	// Information about the user who created or modified one or more of the following:.
	//
	// - Experiment
	// - Trial
	// - Trial component
	// - Lineage group
	// - Project
	// - Model Card.
	CreatedBy interface{} `field:"optional" json:"createdBy" yaml:"createdBy"`
	// `AWS::SageMaker::ModelCard.LastModifiedBy`.
	LastModifiedBy interface{} `field:"optional" json:"lastModifiedBy" yaml:"lastModifiedBy"`
	// The security configuration used to protect model card data.
	SecurityConfig interface{} `field:"optional" json:"securityConfig" yaml:"securityConfig"`
	// Key-value pairs used to manage metadata for the model card.
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
}

Properties for defining a `CfnModelCard`.

Example:

// 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"

var value interface{}

cfnModelCardProps := &CfnModelCardProps{
	Content: &ContentProperty{
		AdditionalInformation: &AdditionalInformationProperty{
			CaveatsAndRecommendations: jsii.String("caveatsAndRecommendations"),
			CustomDetails: map[string]*string{
				"customDetailsKey": jsii.String("customDetails"),
			},
			EthicalConsiderations: jsii.String("ethicalConsiderations"),
		},
		BusinessDetails: &BusinessDetailsProperty{
			BusinessProblem: jsii.String("businessProblem"),
			BusinessStakeholders: jsii.String("businessStakeholders"),
			LineOfBusiness: jsii.String("lineOfBusiness"),
		},
		EvaluationDetails: []interface{}{
			&EvaluationDetailProperty{
				Name: jsii.String("name"),

				// the properties below are optional
				Datasets: []*string{
					jsii.String("datasets"),
				},
				EvaluationJobArn: jsii.String("evaluationJobArn"),
				EvaluationObservation: jsii.String("evaluationObservation"),
				Metadata: map[string]*string{
					"metadataKey": jsii.String("metadata"),
				},
				MetricGroups: []interface{}{
					&MetricGroupProperty{
						MetricData: []interface{}{
							&MetricDataItemsProperty{
								Name: jsii.String("name"),
								Type: jsii.String("type"),
								Value: value,

								// the properties below are optional
								Notes: jsii.String("notes"),
								XAxisName: []*string{
									jsii.String("xAxisName"),
								},
								YAxisName: []*string{
									jsii.String("yAxisName"),
								},
							},
						},
						Name: jsii.String("name"),
					},
				},
			},
		},
		IntendedUses: &IntendedUsesProperty{
			ExplanationsForRiskRating: jsii.String("explanationsForRiskRating"),
			FactorsAffectingModelEfficiency: jsii.String("factorsAffectingModelEfficiency"),
			IntendedUses: jsii.String("intendedUses"),
			PurposeOfModel: jsii.String("purposeOfModel"),
			RiskRating: jsii.String("riskRating"),
		},
		ModelOverview: &ModelOverviewProperty{
			AlgorithmType: jsii.String("algorithmType"),
			InferenceEnvironment: &InferenceEnvironmentProperty{
				ContainerImage: []*string{
					jsii.String("containerImage"),
				},
			},
			ModelArtifact: []*string{
				jsii.String("modelArtifact"),
			},
			ModelCreator: jsii.String("modelCreator"),
			ModelDescription: jsii.String("modelDescription"),
			ModelId: jsii.String("modelId"),
			ModelName: jsii.String("modelName"),
			ModelOwner: jsii.String("modelOwner"),
			ModelVersion: jsii.Number(123),
			ProblemType: jsii.String("problemType"),
		},
		ModelPackageDetails: &ModelPackageDetailsProperty{
			ApprovalDescription: jsii.String("approvalDescription"),
			CreatedBy: &ModelPackageCreatorProperty{
				UserProfileName: jsii.String("userProfileName"),
			},
			Domain: jsii.String("domain"),
			InferenceSpecification: &InferenceSpecificationProperty{
				Containers: []interface{}{
					&ContainerProperty{
						Image: jsii.String("image"),

						// the properties below are optional
						ModelDataUrl: jsii.String("modelDataUrl"),
						NearestModelName: jsii.String("nearestModelName"),
					},
				},
			},
			ModelApprovalStatus: jsii.String("modelApprovalStatus"),
			ModelPackageArn: jsii.String("modelPackageArn"),
			ModelPackageDescription: jsii.String("modelPackageDescription"),
			ModelPackageGroupName: jsii.String("modelPackageGroupName"),
			ModelPackageName: jsii.String("modelPackageName"),
			ModelPackageStatus: jsii.String("modelPackageStatus"),
			ModelPackageVersion: jsii.Number(123),
			SourceAlgorithms: []interface{}{
				&SourceAlgorithmProperty{
					AlgorithmName: jsii.String("algorithmName"),

					// the properties below are optional
					ModelDataUrl: jsii.String("modelDataUrl"),
				},
			},
			Task: jsii.String("task"),
		},
		TrainingDetails: &TrainingDetailsProperty{
			ObjectiveFunction: &ObjectiveFunctionProperty{
				Function: &FunctionProperty{
					Condition: jsii.String("condition"),
					Facet: jsii.String("facet"),
					Function: jsii.String("function"),
				},
				Notes: jsii.String("notes"),
			},
			TrainingJobDetails: &TrainingJobDetailsProperty{
				HyperParameters: []interface{}{
					&TrainingHyperParameterProperty{
						Name: jsii.String("name"),
						Value: jsii.String("value"),
					},
				},
				TrainingArn: jsii.String("trainingArn"),
				TrainingDatasets: []*string{
					jsii.String("trainingDatasets"),
				},
				TrainingEnvironment: &TrainingEnvironmentProperty{
					ContainerImage: []*string{
						jsii.String("containerImage"),
					},
				},
				TrainingMetrics: []interface{}{
					&TrainingMetricProperty{
						Name: jsii.String("name"),
						Value: jsii.Number(123),

						// the properties below are optional
						Notes: jsii.String("notes"),
					},
				},
				UserProvidedHyperParameters: []interface{}{
					&TrainingHyperParameterProperty{
						Name: jsii.String("name"),
						Value: jsii.String("value"),
					},
				},
				UserProvidedTrainingMetrics: []interface{}{
					&TrainingMetricProperty{
						Name: jsii.String("name"),
						Value: jsii.Number(123),

						// the properties below are optional
						Notes: jsii.String("notes"),
					},
				},
			},
			TrainingObservations: jsii.String("trainingObservations"),
		},
	},
	ModelCardName: jsii.String("modelCardName"),
	ModelCardStatus: jsii.String("modelCardStatus"),

	// the properties below are optional
	CreatedBy: &UserContextProperty{
		DomainId: jsii.String("domainId"),
		UserProfileArn: jsii.String("userProfileArn"),
		UserProfileName: jsii.String("userProfileName"),
	},
	LastModifiedBy: &UserContextProperty{
		DomainId: jsii.String("domainId"),
		UserProfileArn: jsii.String("userProfileArn"),
		UserProfileName: jsii.String("userProfileName"),
	},
	SecurityConfig: &SecurityConfigProperty{
		KmsKeyId: jsii.String("kmsKeyId"),
	},
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
}

type CfnModelCard_AdditionalInformationProperty added in v2.64.0

type CfnModelCard_AdditionalInformationProperty struct {
	// Caveats and recommendations for those who might use this model in their applications.
	CaveatsAndRecommendations *string `field:"optional" json:"caveatsAndRecommendations" yaml:"caveatsAndRecommendations"`
	// Any additional information to document about the model.
	CustomDetails interface{} `field:"optional" json:"customDetails" yaml:"customDetails"`
	// Any ethical considerations documented by the model card author.
	EthicalConsiderations *string `field:"optional" json:"ethicalConsiderations" yaml:"ethicalConsiderations"`
}

Additional information about the model.

Example:

// 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"

additionalInformationProperty := &AdditionalInformationProperty{
	CaveatsAndRecommendations: jsii.String("caveatsAndRecommendations"),
	CustomDetails: map[string]*string{
		"customDetailsKey": jsii.String("customDetails"),
	},
	EthicalConsiderations: jsii.String("ethicalConsiderations"),
}

type CfnModelCard_BusinessDetailsProperty added in v2.64.0

type CfnModelCard_BusinessDetailsProperty struct {
	// The specific business problem that the model is trying to solve.
	BusinessProblem *string `field:"optional" json:"businessProblem" yaml:"businessProblem"`
	// The relevant stakeholders for the model.
	BusinessStakeholders *string `field:"optional" json:"businessStakeholders" yaml:"businessStakeholders"`
	// The broader business need that the model is serving.
	LineOfBusiness *string `field:"optional" json:"lineOfBusiness" yaml:"lineOfBusiness"`
}

Information about how the model supports business goals.

Example:

// 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"

businessDetailsProperty := &BusinessDetailsProperty{
	BusinessProblem: jsii.String("businessProblem"),
	BusinessStakeholders: jsii.String("businessStakeholders"),
	LineOfBusiness: jsii.String("lineOfBusiness"),
}

type CfnModelCard_ContainerProperty added in v2.80.0

type CfnModelCard_ContainerProperty struct {
	// `CfnModelCard.ContainerProperty.Image`.
	Image *string `field:"required" json:"image" yaml:"image"`
	// `CfnModelCard.ContainerProperty.ModelDataUrl`.
	ModelDataUrl *string `field:"optional" json:"modelDataUrl" yaml:"modelDataUrl"`
	// `CfnModelCard.ContainerProperty.NearestModelName`.
	NearestModelName *string `field:"optional" json:"nearestModelName" yaml:"nearestModelName"`
}

Example:

// 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"

containerProperty := &ContainerProperty{
	Image: jsii.String("image"),

	// the properties below are optional
	ModelDataUrl: jsii.String("modelDataUrl"),
	NearestModelName: jsii.String("nearestModelName"),
}

type CfnModelCard_ContentProperty added in v2.64.0

type CfnModelCard_ContentProperty struct {
	// Additional information about the model.
	AdditionalInformation interface{} `field:"optional" json:"additionalInformation" yaml:"additionalInformation"`
	// Information about how the model supports business goals.
	BusinessDetails interface{} `field:"optional" json:"businessDetails" yaml:"businessDetails"`
	// An overview about the model's evaluation.
	EvaluationDetails interface{} `field:"optional" json:"evaluationDetails" yaml:"evaluationDetails"`
	// The intended usage of the model.
	IntendedUses interface{} `field:"optional" json:"intendedUses" yaml:"intendedUses"`
	// An overview about the model.
	ModelOverview interface{} `field:"optional" json:"modelOverview" yaml:"modelOverview"`
	// `CfnModelCard.ContentProperty.ModelPackageDetails`.
	ModelPackageDetails interface{} `field:"optional" json:"modelPackageDetails" yaml:"modelPackageDetails"`
	// An overview about model training.
	TrainingDetails interface{} `field:"optional" json:"trainingDetails" yaml:"trainingDetails"`
}

The content of the model card.

It follows the [model card json schema](https://docs.aws.amazon.com/sagemaker/latest/dg/model-cards.html#model-cards-json-schema) .

Example:

// 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"

var value interface{}

contentProperty := &ContentProperty{
	AdditionalInformation: &AdditionalInformationProperty{
		CaveatsAndRecommendations: jsii.String("caveatsAndRecommendations"),
		CustomDetails: map[string]*string{
			"customDetailsKey": jsii.String("customDetails"),
		},
		EthicalConsiderations: jsii.String("ethicalConsiderations"),
	},
	BusinessDetails: &BusinessDetailsProperty{
		BusinessProblem: jsii.String("businessProblem"),
		BusinessStakeholders: jsii.String("businessStakeholders"),
		LineOfBusiness: jsii.String("lineOfBusiness"),
	},
	EvaluationDetails: []interface{}{
		&EvaluationDetailProperty{
			Name: jsii.String("name"),

			// the properties below are optional
			Datasets: []*string{
				jsii.String("datasets"),
			},
			EvaluationJobArn: jsii.String("evaluationJobArn"),
			EvaluationObservation: jsii.String("evaluationObservation"),
			Metadata: map[string]*string{
				"metadataKey": jsii.String("metadata"),
			},
			MetricGroups: []interface{}{
				&MetricGroupProperty{
					MetricData: []interface{}{
						&MetricDataItemsProperty{
							Name: jsii.String("name"),
							Type: jsii.String("type"),
							Value: value,

							// the properties below are optional
							Notes: jsii.String("notes"),
							XAxisName: []*string{
								jsii.String("xAxisName"),
							},
							YAxisName: []*string{
								jsii.String("yAxisName"),
							},
						},
					},
					Name: jsii.String("name"),
				},
			},
		},
	},
	IntendedUses: &IntendedUsesProperty{
		ExplanationsForRiskRating: jsii.String("explanationsForRiskRating"),
		FactorsAffectingModelEfficiency: jsii.String("factorsAffectingModelEfficiency"),
		IntendedUses: jsii.String("intendedUses"),
		PurposeOfModel: jsii.String("purposeOfModel"),
		RiskRating: jsii.String("riskRating"),
	},
	ModelOverview: &ModelOverviewProperty{
		AlgorithmType: jsii.String("algorithmType"),
		InferenceEnvironment: &InferenceEnvironmentProperty{
			ContainerImage: []*string{
				jsii.String("containerImage"),
			},
		},
		ModelArtifact: []*string{
			jsii.String("modelArtifact"),
		},
		ModelCreator: jsii.String("modelCreator"),
		ModelDescription: jsii.String("modelDescription"),
		ModelId: jsii.String("modelId"),
		ModelName: jsii.String("modelName"),
		ModelOwner: jsii.String("modelOwner"),
		ModelVersion: jsii.Number(123),
		ProblemType: jsii.String("problemType"),
	},
	ModelPackageDetails: &ModelPackageDetailsProperty{
		ApprovalDescription: jsii.String("approvalDescription"),
		CreatedBy: &ModelPackageCreatorProperty{
			UserProfileName: jsii.String("userProfileName"),
		},
		Domain: jsii.String("domain"),
		InferenceSpecification: &InferenceSpecificationProperty{
			Containers: []interface{}{
				&ContainerProperty{
					Image: jsii.String("image"),

					// the properties below are optional
					ModelDataUrl: jsii.String("modelDataUrl"),
					NearestModelName: jsii.String("nearestModelName"),
				},
			},
		},
		ModelApprovalStatus: jsii.String("modelApprovalStatus"),
		ModelPackageArn: jsii.String("modelPackageArn"),
		ModelPackageDescription: jsii.String("modelPackageDescription"),
		ModelPackageGroupName: jsii.String("modelPackageGroupName"),
		ModelPackageName: jsii.String("modelPackageName"),
		ModelPackageStatus: jsii.String("modelPackageStatus"),
		ModelPackageVersion: jsii.Number(123),
		SourceAlgorithms: []interface{}{
			&SourceAlgorithmProperty{
				AlgorithmName: jsii.String("algorithmName"),

				// the properties below are optional
				ModelDataUrl: jsii.String("modelDataUrl"),
			},
		},
		Task: jsii.String("task"),
	},
	TrainingDetails: &TrainingDetailsProperty{
		ObjectiveFunction: &ObjectiveFunctionProperty{
			Function: &FunctionProperty{
				Condition: jsii.String("condition"),
				Facet: jsii.String("facet"),
				Function: jsii.String("function"),
			},
			Notes: jsii.String("notes"),
		},
		TrainingJobDetails: &TrainingJobDetailsProperty{
			HyperParameters: []interface{}{
				&TrainingHyperParameterProperty{
					Name: jsii.String("name"),
					Value: jsii.String("value"),
				},
			},
			TrainingArn: jsii.String("trainingArn"),
			TrainingDatasets: []*string{
				jsii.String("trainingDatasets"),
			},
			TrainingEnvironment: &TrainingEnvironmentProperty{
				ContainerImage: []*string{
					jsii.String("containerImage"),
				},
			},
			TrainingMetrics: []interface{}{
				&TrainingMetricProperty{
					Name: jsii.String("name"),
					Value: jsii.Number(123),

					// the properties below are optional
					Notes: jsii.String("notes"),
				},
			},
			UserProvidedHyperParameters: []interface{}{
				&TrainingHyperParameterProperty{
					Name: jsii.String("name"),
					Value: jsii.String("value"),
				},
			},
			UserProvidedTrainingMetrics: []interface{}{
				&TrainingMetricProperty{
					Name: jsii.String("name"),
					Value: jsii.Number(123),

					// the properties below are optional
					Notes: jsii.String("notes"),
				},
			},
		},
		TrainingObservations: jsii.String("trainingObservations"),
	},
}

type CfnModelCard_EvaluationDetailProperty added in v2.64.0

type CfnModelCard_EvaluationDetailProperty struct {
	// The evaluation job name.
	Name *string `field:"required" json:"name" yaml:"name"`
	// The location of the datasets used to evaluate the model.
	Datasets *[]*string `field:"optional" json:"datasets" yaml:"datasets"`
	// The Amazon Resource Name (ARN) of the evaluation job.
	EvaluationJobArn *string `field:"optional" json:"evaluationJobArn" yaml:"evaluationJobArn"`
	// Any observations made during the model evaluation.
	EvaluationObservation *string `field:"optional" json:"evaluationObservation" yaml:"evaluationObservation"`
	// Additional attributes associated with the evaluation results.
	Metadata interface{} `field:"optional" json:"metadata" yaml:"metadata"`
	// An evaluation Metric Group object.
	MetricGroups interface{} `field:"optional" json:"metricGroups" yaml:"metricGroups"`
}

The evaluation details of the model.

Example:

// 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"

var value interface{}

evaluationDetailProperty := &EvaluationDetailProperty{
	Name: jsii.String("name"),

	// the properties below are optional
	Datasets: []*string{
		jsii.String("datasets"),
	},
	EvaluationJobArn: jsii.String("evaluationJobArn"),
	EvaluationObservation: jsii.String("evaluationObservation"),
	Metadata: map[string]*string{
		"metadataKey": jsii.String("metadata"),
	},
	MetricGroups: []interface{}{
		&MetricGroupProperty{
			MetricData: []interface{}{
				&MetricDataItemsProperty{
					Name: jsii.String("name"),
					Type: jsii.String("type"),
					Value: value,

					// the properties below are optional
					Notes: jsii.String("notes"),
					XAxisName: []*string{
						jsii.String("xAxisName"),
					},
					YAxisName: []*string{
						jsii.String("yAxisName"),
					},
				},
			},
			Name: jsii.String("name"),
		},
	},
}

type CfnModelCard_FunctionProperty added in v2.64.0

type CfnModelCard_FunctionProperty struct {
	// An optional description of any conditions of your objective function metric.
	Condition *string `field:"optional" json:"condition" yaml:"condition"`
	// The metric of the model's objective function.
	//
	// For example, *loss* or *rmse* . The following list shows examples of the values that you can specify for the metric:
	//
	// - `ACCURACY`
	// - `AUC`
	// - `LOSS`
	// - `MAE`
	// - `RMSE`.
	Facet *string `field:"optional" json:"facet" yaml:"facet"`
	// The optimization direction of the model's objective function. You must specify one of the following values:.
	//
	// - `Maximize`
	// - `Minimize`.
	Function *string `field:"optional" json:"function" yaml:"function"`
}

Function details.

Example:

// 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"

functionProperty := &FunctionProperty{
	Condition: jsii.String("condition"),
	Facet: jsii.String("facet"),
	Function: jsii.String("function"),
}

type CfnModelCard_InferenceEnvironmentProperty added in v2.64.0

type CfnModelCard_InferenceEnvironmentProperty struct {
	// The container used to run the inference environment.
	ContainerImage *[]*string `field:"optional" json:"containerImage" yaml:"containerImage"`
}

An overview of a model's inference environment.

Example:

// 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"

inferenceEnvironmentProperty := &InferenceEnvironmentProperty{
	ContainerImage: []*string{
		jsii.String("containerImage"),
	},
}

type CfnModelCard_InferenceSpecificationProperty added in v2.80.0

type CfnModelCard_InferenceSpecificationProperty struct {
	// `CfnModelCard.InferenceSpecificationProperty.Containers`.
	Containers interface{} `field:"required" json:"containers" yaml:"containers"`
}

Example:

// 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"

inferenceSpecificationProperty := &InferenceSpecificationProperty{
	Containers: []interface{}{
		&ContainerProperty{
			Image: jsii.String("image"),

			// the properties below are optional
			ModelDataUrl: jsii.String("modelDataUrl"),
			NearestModelName: jsii.String("nearestModelName"),
		},
	},
}

type CfnModelCard_IntendedUsesProperty added in v2.64.0

type CfnModelCard_IntendedUsesProperty struct {
	// An explanation of why your organization categorizes the model with its risk rating.
	ExplanationsForRiskRating *string `field:"optional" json:"explanationsForRiskRating" yaml:"explanationsForRiskRating"`
	// Factors affecting model efficacy.
	FactorsAffectingModelEfficiency *string `field:"optional" json:"factorsAffectingModelEfficiency" yaml:"factorsAffectingModelEfficiency"`
	// The intended use cases for the model.
	IntendedUses *string `field:"optional" json:"intendedUses" yaml:"intendedUses"`
	// The general purpose of the model.
	PurposeOfModel *string `field:"optional" json:"purposeOfModel" yaml:"purposeOfModel"`
	// Your organization's risk rating. You can specify one the following values as the risk rating:.
	//
	// - High
	// - Medium
	// - Low
	// - Unknown.
	RiskRating *string `field:"optional" json:"riskRating" yaml:"riskRating"`
}

The intended uses of a model.

Example:

// 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"

intendedUsesProperty := &IntendedUsesProperty{
	ExplanationsForRiskRating: jsii.String("explanationsForRiskRating"),
	FactorsAffectingModelEfficiency: jsii.String("factorsAffectingModelEfficiency"),
	IntendedUses: jsii.String("intendedUses"),
	PurposeOfModel: jsii.String("purposeOfModel"),
	RiskRating: jsii.String("riskRating"),
}

type CfnModelCard_MetricDataItemsProperty added in v2.64.0

type CfnModelCard_MetricDataItemsProperty struct {
	// The names of the metrics.
	Name *string `field:"required" json:"name" yaml:"name"`
	// You must specify one of the following data types:.
	//
	// - Bar Chart `bar_char`
	// - Boolean `boolean`
	// - Linear Graph `linear_graph`
	// - Matrix `matrix`
	// - Number `number`
	// - String `string`.
	Type *string `field:"required" json:"type" yaml:"type"`
	// The datatype of the metric.
	//
	// The metric's *value* must be compatible with the metric's *type* .
	Value interface{} `field:"required" json:"value" yaml:"value"`
	// Any notes to add to the metric.
	Notes *string `field:"optional" json:"notes" yaml:"notes"`
	// The name of the x axis.
	XAxisName *[]*string `field:"optional" json:"xAxisName" yaml:"xAxisName"`
	// The name of the y axis.
	YAxisName *[]*string `field:"optional" json:"yAxisName" yaml:"yAxisName"`
}

Metric data.

The `type` determines the data types that you specify for `value` , `XAxisName` and `YAxisName` . For information about specifying values for metrics, see [model card JSON schema](https://docs.aws.amazon.com/sagemaker/latest/dg/model-cards.html#model-cards-json-schema) .

Example:

// 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"

var value interface{}

metricDataItemsProperty := &MetricDataItemsProperty{
	Name: jsii.String("name"),
	Type: jsii.String("type"),
	Value: value,

	// the properties below are optional
	Notes: jsii.String("notes"),
	XAxisName: []*string{
		jsii.String("xAxisName"),
	},
	YAxisName: []*string{
		jsii.String("yAxisName"),
	},
}

type CfnModelCard_MetricGroupProperty added in v2.64.0

type CfnModelCard_MetricGroupProperty struct {
	// A list of metric objects. The `MetricDataItems` list can have one of the following values:.
	//
	// - `bar_chart_metric`
	// - `matrix_metric`
	// - `simple_metric`
	// - `linear_graph_metric`
	//
	// For more information about the metric schema, see the definition section of the [model card JSON schema](https://docs.aws.amazon.com/sagemaker/latest/dg/model-cards.html#model-cards-json-schema) .
	MetricData interface{} `field:"required" json:"metricData" yaml:"metricData"`
	// The metric group name.
	Name *string `field:"required" json:"name" yaml:"name"`
}

A group of metric data that you use to initialize a metric group object.

Example:

// 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"

var value interface{}

metricGroupProperty := &MetricGroupProperty{
	MetricData: []interface{}{
		&MetricDataItemsProperty{
			Name: jsii.String("name"),
			Type: jsii.String("type"),
			Value: value,

			// the properties below are optional
			Notes: jsii.String("notes"),
			XAxisName: []*string{
				jsii.String("xAxisName"),
			},
			YAxisName: []*string{
				jsii.String("yAxisName"),
			},
		},
	},
	Name: jsii.String("name"),
}

type CfnModelCard_ModelOverviewProperty added in v2.64.0

type CfnModelCard_ModelOverviewProperty struct {
	// The algorithm used to solve the problem.
	AlgorithmType *string `field:"optional" json:"algorithmType" yaml:"algorithmType"`
	// An overview about model inference.
	InferenceEnvironment interface{} `field:"optional" json:"inferenceEnvironment" yaml:"inferenceEnvironment"`
	// The location of the model artifact.
	ModelArtifact *[]*string `field:"optional" json:"modelArtifact" yaml:"modelArtifact"`
	// The creator of the model.
	ModelCreator *string `field:"optional" json:"modelCreator" yaml:"modelCreator"`
	// A description of the model.
	ModelDescription *string `field:"optional" json:"modelDescription" yaml:"modelDescription"`
	// The SageMaker Model ARN or non- SageMaker Model ID.
	ModelId *string `field:"optional" json:"modelId" yaml:"modelId"`
	// The name of the model.
	ModelName *string `field:"optional" json:"modelName" yaml:"modelName"`
	// The owner of the model.
	ModelOwner *string `field:"optional" json:"modelOwner" yaml:"modelOwner"`
	// The version of the model.
	ModelVersion *float64 `field:"optional" json:"modelVersion" yaml:"modelVersion"`
	// The problem being solved with the model.
	ProblemType *string `field:"optional" json:"problemType" yaml:"problemType"`
}

An overview about the model.

Example:

// 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"

modelOverviewProperty := &ModelOverviewProperty{
	AlgorithmType: jsii.String("algorithmType"),
	InferenceEnvironment: &InferenceEnvironmentProperty{
		ContainerImage: []*string{
			jsii.String("containerImage"),
		},
	},
	ModelArtifact: []*string{
		jsii.String("modelArtifact"),
	},
	ModelCreator: jsii.String("modelCreator"),
	ModelDescription: jsii.String("modelDescription"),
	ModelId: jsii.String("modelId"),
	ModelName: jsii.String("modelName"),
	ModelOwner: jsii.String("modelOwner"),
	ModelVersion: jsii.Number(123),
	ProblemType: jsii.String("problemType"),
}

type CfnModelCard_ModelPackageCreatorProperty added in v2.80.0

type CfnModelCard_ModelPackageCreatorProperty struct {
	// `CfnModelCard.ModelPackageCreatorProperty.UserProfileName`.
	UserProfileName *string `field:"optional" json:"userProfileName" yaml:"userProfileName"`
}

Example:

// 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"

modelPackageCreatorProperty := &ModelPackageCreatorProperty{
	UserProfileName: jsii.String("userProfileName"),
}

type CfnModelCard_ModelPackageDetailsProperty added in v2.80.0

type CfnModelCard_ModelPackageDetailsProperty struct {
	// `CfnModelCard.ModelPackageDetailsProperty.ApprovalDescription`.
	ApprovalDescription *string `field:"optional" json:"approvalDescription" yaml:"approvalDescription"`
	// `CfnModelCard.ModelPackageDetailsProperty.CreatedBy`.
	CreatedBy interface{} `field:"optional" json:"createdBy" yaml:"createdBy"`
	// `CfnModelCard.ModelPackageDetailsProperty.Domain`.
	Domain *string `field:"optional" json:"domain" yaml:"domain"`
	// `CfnModelCard.ModelPackageDetailsProperty.InferenceSpecification`.
	InferenceSpecification interface{} `field:"optional" json:"inferenceSpecification" yaml:"inferenceSpecification"`
	// `CfnModelCard.ModelPackageDetailsProperty.ModelApprovalStatus`.
	ModelApprovalStatus *string `field:"optional" json:"modelApprovalStatus" yaml:"modelApprovalStatus"`
	// `CfnModelCard.ModelPackageDetailsProperty.ModelPackageArn`.
	ModelPackageArn *string `field:"optional" json:"modelPackageArn" yaml:"modelPackageArn"`
	// `CfnModelCard.ModelPackageDetailsProperty.ModelPackageDescription`.
	ModelPackageDescription *string `field:"optional" json:"modelPackageDescription" yaml:"modelPackageDescription"`
	// `CfnModelCard.ModelPackageDetailsProperty.ModelPackageGroupName`.
	ModelPackageGroupName *string `field:"optional" json:"modelPackageGroupName" yaml:"modelPackageGroupName"`
	// `CfnModelCard.ModelPackageDetailsProperty.ModelPackageName`.
	ModelPackageName *string `field:"optional" json:"modelPackageName" yaml:"modelPackageName"`
	// `CfnModelCard.ModelPackageDetailsProperty.ModelPackageStatus`.
	ModelPackageStatus *string `field:"optional" json:"modelPackageStatus" yaml:"modelPackageStatus"`
	// `CfnModelCard.ModelPackageDetailsProperty.ModelPackageVersion`.
	ModelPackageVersion *float64 `field:"optional" json:"modelPackageVersion" yaml:"modelPackageVersion"`
	// `CfnModelCard.ModelPackageDetailsProperty.SourceAlgorithms`.
	SourceAlgorithms interface{} `field:"optional" json:"sourceAlgorithms" yaml:"sourceAlgorithms"`
	// `CfnModelCard.ModelPackageDetailsProperty.Task`.
	Task *string `field:"optional" json:"task" yaml:"task"`
}

Example:

// 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"

modelPackageDetailsProperty := &ModelPackageDetailsProperty{
	ApprovalDescription: jsii.String("approvalDescription"),
	CreatedBy: &ModelPackageCreatorProperty{
		UserProfileName: jsii.String("userProfileName"),
	},
	Domain: jsii.String("domain"),
	InferenceSpecification: &InferenceSpecificationProperty{
		Containers: []interface{}{
			&ContainerProperty{
				Image: jsii.String("image"),

				// the properties below are optional
				ModelDataUrl: jsii.String("modelDataUrl"),
				NearestModelName: jsii.String("nearestModelName"),
			},
		},
	},
	ModelApprovalStatus: jsii.String("modelApprovalStatus"),
	ModelPackageArn: jsii.String("modelPackageArn"),
	ModelPackageDescription: jsii.String("modelPackageDescription"),
	ModelPackageGroupName: jsii.String("modelPackageGroupName"),
	ModelPackageName: jsii.String("modelPackageName"),
	ModelPackageStatus: jsii.String("modelPackageStatus"),
	ModelPackageVersion: jsii.Number(123),
	SourceAlgorithms: []interface{}{
		&SourceAlgorithmProperty{
			AlgorithmName: jsii.String("algorithmName"),

			// the properties below are optional
			ModelDataUrl: jsii.String("modelDataUrl"),
		},
	},
	Task: jsii.String("task"),
}

type CfnModelCard_ObjectiveFunctionProperty added in v2.64.0

type CfnModelCard_ObjectiveFunctionProperty struct {
	// A function object that details optimization direction, metric, and additional descriptions.
	Function interface{} `field:"optional" json:"function" yaml:"function"`
	// Notes about the object function, including other considerations for possible objective functions.
	Notes *string `field:"optional" json:"notes" yaml:"notes"`
}

The function that is optimized during model training.

Example:

// 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"

objectiveFunctionProperty := &ObjectiveFunctionProperty{
	Function: &FunctionProperty{
		Condition: jsii.String("condition"),
		Facet: jsii.String("facet"),
		Function: jsii.String("function"),
	},
	Notes: jsii.String("notes"),
}

type CfnModelCard_SecurityConfigProperty added in v2.64.0

type CfnModelCard_SecurityConfigProperty struct {
	// A AWS Key Management Service [key ID](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-id) used to encrypt a model card.
	KmsKeyId *string `field:"optional" json:"kmsKeyId" yaml:"kmsKeyId"`
}

The security configuration used to protect model card data.

Example:

// 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"

securityConfigProperty := &SecurityConfigProperty{
	KmsKeyId: jsii.String("kmsKeyId"),
}

type CfnModelCard_SourceAlgorithmProperty added in v2.80.0

type CfnModelCard_SourceAlgorithmProperty struct {
	// `CfnModelCard.SourceAlgorithmProperty.AlgorithmName`.
	AlgorithmName *string `field:"required" json:"algorithmName" yaml:"algorithmName"`
	// `CfnModelCard.SourceAlgorithmProperty.ModelDataUrl`.
	ModelDataUrl *string `field:"optional" json:"modelDataUrl" yaml:"modelDataUrl"`
}

Example:

// 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"

sourceAlgorithmProperty := &SourceAlgorithmProperty{
	AlgorithmName: jsii.String("algorithmName"),

	// the properties below are optional
	ModelDataUrl: jsii.String("modelDataUrl"),
}

type CfnModelCard_TrainingDetailsProperty added in v2.64.0

type CfnModelCard_TrainingDetailsProperty struct {
	// The function that is optimized during model training.
	ObjectiveFunction interface{} `field:"optional" json:"objectiveFunction" yaml:"objectiveFunction"`
	// Details about any associated training jobs.
	TrainingJobDetails interface{} `field:"optional" json:"trainingJobDetails" yaml:"trainingJobDetails"`
	// Any observations about training.
	TrainingObservations *string `field:"optional" json:"trainingObservations" yaml:"trainingObservations"`
}

The training details of the model.

Example:

// 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"

trainingDetailsProperty := &TrainingDetailsProperty{
	ObjectiveFunction: &ObjectiveFunctionProperty{
		Function: &FunctionProperty{
			Condition: jsii.String("condition"),
			Facet: jsii.String("facet"),
			Function: jsii.String("function"),
		},
		Notes: jsii.String("notes"),
	},
	TrainingJobDetails: &TrainingJobDetailsProperty{
		HyperParameters: []interface{}{
			&TrainingHyperParameterProperty{
				Name: jsii.String("name"),
				Value: jsii.String("value"),
			},
		},
		TrainingArn: jsii.String("trainingArn"),
		TrainingDatasets: []*string{
			jsii.String("trainingDatasets"),
		},
		TrainingEnvironment: &TrainingEnvironmentProperty{
			ContainerImage: []*string{
				jsii.String("containerImage"),
			},
		},
		TrainingMetrics: []interface{}{
			&TrainingMetricProperty{
				Name: jsii.String("name"),
				Value: jsii.Number(123),

				// the properties below are optional
				Notes: jsii.String("notes"),
			},
		},
		UserProvidedHyperParameters: []interface{}{
			&TrainingHyperParameterProperty{
				Name: jsii.String("name"),
				Value: jsii.String("value"),
			},
		},
		UserProvidedTrainingMetrics: []interface{}{
			&TrainingMetricProperty{
				Name: jsii.String("name"),
				Value: jsii.Number(123),

				// the properties below are optional
				Notes: jsii.String("notes"),
			},
		},
	},
	TrainingObservations: jsii.String("trainingObservations"),
}

type CfnModelCard_TrainingEnvironmentProperty added in v2.64.0

type CfnModelCard_TrainingEnvironmentProperty struct {
	// SageMaker inference image URI.
	ContainerImage *[]*string `field:"optional" json:"containerImage" yaml:"containerImage"`
}

SageMaker training image.

Example:

// 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"

trainingEnvironmentProperty := &TrainingEnvironmentProperty{
	ContainerImage: []*string{
		jsii.String("containerImage"),
	},
}

type CfnModelCard_TrainingHyperParameterProperty added in v2.64.0

type CfnModelCard_TrainingHyperParameterProperty struct {
	// The name of the hyper parameter.
	Name *string `field:"required" json:"name" yaml:"name"`
	// The value specified for the hyper parameter.
	Value *string `field:"required" json:"value" yaml:"value"`
}

A hyper parameter that was configured in training the model.

Example:

// 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"

trainingHyperParameterProperty := &TrainingHyperParameterProperty{
	Name: jsii.String("name"),
	Value: jsii.String("value"),
}

type CfnModelCard_TrainingJobDetailsProperty added in v2.64.0

type CfnModelCard_TrainingJobDetailsProperty struct {
	// The hyper parameters used in the training job.
	HyperParameters interface{} `field:"optional" json:"hyperParameters" yaml:"hyperParameters"`
	// The SageMaker training job Amazon Resource Name (ARN).
	TrainingArn *string `field:"optional" json:"trainingArn" yaml:"trainingArn"`
	// The location of the datasets used to train the model.
	TrainingDatasets *[]*string `field:"optional" json:"trainingDatasets" yaml:"trainingDatasets"`
	// The SageMaker training job image URI.
	TrainingEnvironment interface{} `field:"optional" json:"trainingEnvironment" yaml:"trainingEnvironment"`
	// The SageMaker training job results.
	TrainingMetrics interface{} `field:"optional" json:"trainingMetrics" yaml:"trainingMetrics"`
	// Additional hyper parameters that you've specified when training the model.
	UserProvidedHyperParameters interface{} `field:"optional" json:"userProvidedHyperParameters" yaml:"userProvidedHyperParameters"`
	// Custom training job results.
	UserProvidedTrainingMetrics interface{} `field:"optional" json:"userProvidedTrainingMetrics" yaml:"userProvidedTrainingMetrics"`
}

The overview of a training job.

Example:

// 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"

trainingJobDetailsProperty := &TrainingJobDetailsProperty{
	HyperParameters: []interface{}{
		&TrainingHyperParameterProperty{
			Name: jsii.String("name"),
			Value: jsii.String("value"),
		},
	},
	TrainingArn: jsii.String("trainingArn"),
	TrainingDatasets: []*string{
		jsii.String("trainingDatasets"),
	},
	TrainingEnvironment: &TrainingEnvironmentProperty{
		ContainerImage: []*string{
			jsii.String("containerImage"),
		},
	},
	TrainingMetrics: []interface{}{
		&TrainingMetricProperty{
			Name: jsii.String("name"),
			Value: jsii.Number(123),

			// the properties below are optional
			Notes: jsii.String("notes"),
		},
	},
	UserProvidedHyperParameters: []interface{}{
		&TrainingHyperParameterProperty{
			Name: jsii.String("name"),
			Value: jsii.String("value"),
		},
	},
	UserProvidedTrainingMetrics: []interface{}{
		&TrainingMetricProperty{
			Name: jsii.String("name"),
			Value: jsii.Number(123),

			// the properties below are optional
			Notes: jsii.String("notes"),
		},
	},
}

type CfnModelCard_TrainingMetricProperty added in v2.64.0

type CfnModelCard_TrainingMetricProperty struct {
	// The name of the result from the SageMaker training job.
	Name *string `field:"required" json:"name" yaml:"name"`
	// The value of a result from the SageMaker training job.
	Value *float64 `field:"required" json:"value" yaml:"value"`
	// Any additional notes describing the result of the training job.
	Notes *string `field:"optional" json:"notes" yaml:"notes"`
}

A result from a SageMaker training job.

Example:

// 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"

trainingMetricProperty := &TrainingMetricProperty{
	Name: jsii.String("name"),
	Value: jsii.Number(123),

	// the properties below are optional
	Notes: jsii.String("notes"),
}

type CfnModelCard_UserContextProperty added in v2.64.0

type CfnModelCard_UserContextProperty struct {
	// The domain associated with the user.
	DomainId *string `field:"optional" json:"domainId" yaml:"domainId"`
	// The Amazon Resource Name (ARN) of the user's profile.
	UserProfileArn *string `field:"optional" json:"userProfileArn" yaml:"userProfileArn"`
	// The name of the user's profile.
	UserProfileName *string `field:"optional" json:"userProfileName" yaml:"userProfileName"`
}

Information about the user who created or modified an experiment, trial, trial component, lineage group, project, or model card.

Example:

// 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"

userContextProperty := &UserContextProperty{
	DomainId: jsii.String("domainId"),
	UserProfileArn: jsii.String("userProfileArn"),
	UserProfileName: jsii.String("userProfileName"),
}

type CfnModelExplainabilityJobDefinition

type CfnModelExplainabilityJobDefinition interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// The time when the job definition was created.
	AttrCreationTime() *string
	// The Amazon Resource Name (ARN) of the job definition.
	AttrJobDefinitionArn() *string
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// `AWS::SageMaker::ModelExplainabilityJobDefinition.EndpointName`.
	EndpointName() *string
	SetEndpointName(val *string)
	// The name of the model explainability job definition.
	//
	// The name must be unique within an AWS Region in the AWS account.
	JobDefinitionName() *string
	SetJobDefinitionName(val *string)
	// Identifies the resources to deploy for a monitoring job.
	JobResources() interface{}
	SetJobResources(val interface{})
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// Configures the model explainability job to run a specified Docker container image.
	ModelExplainabilityAppSpecification() interface{}
	SetModelExplainabilityAppSpecification(val interface{})
	// The baseline configuration for a model explainability job.
	ModelExplainabilityBaselineConfig() interface{}
	SetModelExplainabilityBaselineConfig(val interface{})
	// Inputs for the model explainability job.
	ModelExplainabilityJobInput() interface{}
	SetModelExplainabilityJobInput(val interface{})
	// The output configuration for monitoring jobs.
	ModelExplainabilityJobOutputConfig() interface{}
	SetModelExplainabilityJobOutputConfig(val interface{})
	// Networking options for a model explainability job.
	NetworkConfig() interface{}
	SetNetworkConfig(val interface{})
	// The tree node.
	Node() constructs.Node
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform tasks on your behalf.
	RoleArn() *string
	SetRoleArn(val *string)
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// A time limit for how long the monitoring job is allowed to run before stopping.
	StoppingCondition() interface{}
	SetStoppingCondition(val interface{})
	// An array of key-value pairs to apply to this resource.
	//
	// For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .
	Tags() awscdk.TagManager
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// 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`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::SageMaker::ModelExplainabilityJobDefinition`.

Creates the definition for a model explainability job.

Example:

// 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"

cfnModelExplainabilityJobDefinition := awscdk.Aws_sagemaker.NewCfnModelExplainabilityJobDefinition(this, jsii.String("MyCfnModelExplainabilityJobDefinition"), &CfnModelExplainabilityJobDefinitionProps{
	JobResources: &MonitoringResourcesProperty{
		ClusterConfig: &ClusterConfigProperty{
			InstanceCount: jsii.Number(123),
			InstanceType: jsii.String("instanceType"),
			VolumeSizeInGb: jsii.Number(123),

			// the properties below are optional
			VolumeKmsKeyId: jsii.String("volumeKmsKeyId"),
		},
	},
	ModelExplainabilityAppSpecification: &ModelExplainabilityAppSpecificationProperty{
		ConfigUri: jsii.String("configUri"),
		ImageUri: jsii.String("imageUri"),

		// the properties below are optional
		Environment: map[string]*string{
			"environmentKey": jsii.String("environment"),
		},
	},
	ModelExplainabilityJobInput: &ModelExplainabilityJobInputProperty{
		BatchTransformInput: &BatchTransformInputProperty{
			DataCapturedDestinationS3Uri: jsii.String("dataCapturedDestinationS3Uri"),
			DatasetFormat: &DatasetFormatProperty{
				Csv: &CsvProperty{
					Header: jsii.Boolean(false),
				},
				Json: &JsonProperty{
					Line: jsii.Boolean(false),
				},
				Parquet: jsii.Boolean(false),
			},
			LocalPath: jsii.String("localPath"),

			// the properties below are optional
			FeaturesAttribute: jsii.String("featuresAttribute"),
			InferenceAttribute: jsii.String("inferenceAttribute"),
			ProbabilityAttribute: jsii.String("probabilityAttribute"),
			S3DataDistributionType: jsii.String("s3DataDistributionType"),
			S3InputMode: jsii.String("s3InputMode"),
		},
		EndpointInput: &EndpointInputProperty{
			EndpointName: jsii.String("endpointName"),
			LocalPath: jsii.String("localPath"),

			// the properties below are optional
			FeaturesAttribute: jsii.String("featuresAttribute"),
			InferenceAttribute: jsii.String("inferenceAttribute"),
			ProbabilityAttribute: jsii.String("probabilityAttribute"),
			S3DataDistributionType: jsii.String("s3DataDistributionType"),
			S3InputMode: jsii.String("s3InputMode"),
		},
	},
	ModelExplainabilityJobOutputConfig: &MonitoringOutputConfigProperty{
		MonitoringOutputs: []interface{}{
			&MonitoringOutputProperty{
				S3Output: &S3OutputProperty{
					LocalPath: jsii.String("localPath"),
					S3Uri: jsii.String("s3Uri"),

					// the properties below are optional
					S3UploadMode: jsii.String("s3UploadMode"),
				},
			},
		},

		// the properties below are optional
		KmsKeyId: jsii.String("kmsKeyId"),
	},
	RoleArn: jsii.String("roleArn"),

	// the properties below are optional
	EndpointName: jsii.String("endpointName"),
	JobDefinitionName: jsii.String("jobDefinitionName"),
	ModelExplainabilityBaselineConfig: &ModelExplainabilityBaselineConfigProperty{
		BaseliningJobName: jsii.String("baseliningJobName"),
		ConstraintsResource: &ConstraintsResourceProperty{
			S3Uri: jsii.String("s3Uri"),
		},
	},
	NetworkConfig: &NetworkConfigProperty{
		EnableInterContainerTrafficEncryption: jsii.Boolean(false),
		EnableNetworkIsolation: jsii.Boolean(false),
		VpcConfig: &VpcConfigProperty{
			SecurityGroupIds: []*string{
				jsii.String("securityGroupIds"),
			},
			Subnets: []*string{
				jsii.String("subnets"),
			},
		},
	},
	StoppingCondition: &StoppingConditionProperty{
		MaxRuntimeInSeconds: jsii.Number(123),
	},
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
})

func NewCfnModelExplainabilityJobDefinition

func NewCfnModelExplainabilityJobDefinition(scope constructs.Construct, id *string, props *CfnModelExplainabilityJobDefinitionProps) CfnModelExplainabilityJobDefinition

Create a new `AWS::SageMaker::ModelExplainabilityJobDefinition`.

type CfnModelExplainabilityJobDefinitionProps

type CfnModelExplainabilityJobDefinitionProps struct {
	// Identifies the resources to deploy for a monitoring job.
	JobResources interface{} `field:"required" json:"jobResources" yaml:"jobResources"`
	// Configures the model explainability job to run a specified Docker container image.
	ModelExplainabilityAppSpecification interface{} `field:"required" json:"modelExplainabilityAppSpecification" yaml:"modelExplainabilityAppSpecification"`
	// Inputs for the model explainability job.
	ModelExplainabilityJobInput interface{} `field:"required" json:"modelExplainabilityJobInput" yaml:"modelExplainabilityJobInput"`
	// The output configuration for monitoring jobs.
	ModelExplainabilityJobOutputConfig interface{} `field:"required" json:"modelExplainabilityJobOutputConfig" yaml:"modelExplainabilityJobOutputConfig"`
	// The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform tasks on your behalf.
	RoleArn *string `field:"required" json:"roleArn" yaml:"roleArn"`
	// `AWS::SageMaker::ModelExplainabilityJobDefinition.EndpointName`.
	EndpointName *string `field:"optional" json:"endpointName" yaml:"endpointName"`
	// The name of the model explainability job definition.
	//
	// The name must be unique within an AWS Region in the AWS account.
	JobDefinitionName *string `field:"optional" json:"jobDefinitionName" yaml:"jobDefinitionName"`
	// The baseline configuration for a model explainability job.
	ModelExplainabilityBaselineConfig interface{} `field:"optional" json:"modelExplainabilityBaselineConfig" yaml:"modelExplainabilityBaselineConfig"`
	// Networking options for a model explainability job.
	NetworkConfig interface{} `field:"optional" json:"networkConfig" yaml:"networkConfig"`
	// A time limit for how long the monitoring job is allowed to run before stopping.
	StoppingCondition interface{} `field:"optional" json:"stoppingCondition" yaml:"stoppingCondition"`
	// An array of key-value pairs to apply to this resource.
	//
	// For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
}

Properties for defining a `CfnModelExplainabilityJobDefinition`.

Example:

// 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"

cfnModelExplainabilityJobDefinitionProps := &CfnModelExplainabilityJobDefinitionProps{
	JobResources: &MonitoringResourcesProperty{
		ClusterConfig: &ClusterConfigProperty{
			InstanceCount: jsii.Number(123),
			InstanceType: jsii.String("instanceType"),
			VolumeSizeInGb: jsii.Number(123),

			// the properties below are optional
			VolumeKmsKeyId: jsii.String("volumeKmsKeyId"),
		},
	},
	ModelExplainabilityAppSpecification: &ModelExplainabilityAppSpecificationProperty{
		ConfigUri: jsii.String("configUri"),
		ImageUri: jsii.String("imageUri"),

		// the properties below are optional
		Environment: map[string]*string{
			"environmentKey": jsii.String("environment"),
		},
	},
	ModelExplainabilityJobInput: &ModelExplainabilityJobInputProperty{
		BatchTransformInput: &BatchTransformInputProperty{
			DataCapturedDestinationS3Uri: jsii.String("dataCapturedDestinationS3Uri"),
			DatasetFormat: &DatasetFormatProperty{
				Csv: &CsvProperty{
					Header: jsii.Boolean(false),
				},
				Json: &JsonProperty{
					Line: jsii.Boolean(false),
				},
				Parquet: jsii.Boolean(false),
			},
			LocalPath: jsii.String("localPath"),

			// the properties below are optional
			FeaturesAttribute: jsii.String("featuresAttribute"),
			InferenceAttribute: jsii.String("inferenceAttribute"),
			ProbabilityAttribute: jsii.String("probabilityAttribute"),
			S3DataDistributionType: jsii.String("s3DataDistributionType"),
			S3InputMode: jsii.String("s3InputMode"),
		},
		EndpointInput: &EndpointInputProperty{
			EndpointName: jsii.String("endpointName"),
			LocalPath: jsii.String("localPath"),

			// the properties below are optional
			FeaturesAttribute: jsii.String("featuresAttribute"),
			InferenceAttribute: jsii.String("inferenceAttribute"),
			ProbabilityAttribute: jsii.String("probabilityAttribute"),
			S3DataDistributionType: jsii.String("s3DataDistributionType"),
			S3InputMode: jsii.String("s3InputMode"),
		},
	},
	ModelExplainabilityJobOutputConfig: &MonitoringOutputConfigProperty{
		MonitoringOutputs: []interface{}{
			&MonitoringOutputProperty{
				S3Output: &S3OutputProperty{
					LocalPath: jsii.String("localPath"),
					S3Uri: jsii.String("s3Uri"),

					// the properties below are optional
					S3UploadMode: jsii.String("s3UploadMode"),
				},
			},
		},

		// the properties below are optional
		KmsKeyId: jsii.String("kmsKeyId"),
	},
	RoleArn: jsii.String("roleArn"),

	// the properties below are optional
	EndpointName: jsii.String("endpointName"),
	JobDefinitionName: jsii.String("jobDefinitionName"),
	ModelExplainabilityBaselineConfig: &ModelExplainabilityBaselineConfigProperty{
		BaseliningJobName: jsii.String("baseliningJobName"),
		ConstraintsResource: &ConstraintsResourceProperty{
			S3Uri: jsii.String("s3Uri"),
		},
	},
	NetworkConfig: &NetworkConfigProperty{
		EnableInterContainerTrafficEncryption: jsii.Boolean(false),
		EnableNetworkIsolation: jsii.Boolean(false),
		VpcConfig: &VpcConfigProperty{
			SecurityGroupIds: []*string{
				jsii.String("securityGroupIds"),
			},
			Subnets: []*string{
				jsii.String("subnets"),
			},
		},
	},
	StoppingCondition: &StoppingConditionProperty{
		MaxRuntimeInSeconds: jsii.Number(123),
	},
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
}

type CfnModelExplainabilityJobDefinition_BatchTransformInputProperty added in v2.48.0

type CfnModelExplainabilityJobDefinition_BatchTransformInputProperty struct {
	// `CfnModelExplainabilityJobDefinition.BatchTransformInputProperty.DataCapturedDestinationS3Uri`.
	DataCapturedDestinationS3Uri *string `field:"required" json:"dataCapturedDestinationS3Uri" yaml:"dataCapturedDestinationS3Uri"`
	// `CfnModelExplainabilityJobDefinition.BatchTransformInputProperty.DatasetFormat`.
	DatasetFormat interface{} `field:"required" json:"datasetFormat" yaml:"datasetFormat"`
	// `CfnModelExplainabilityJobDefinition.BatchTransformInputProperty.LocalPath`.
	LocalPath *string `field:"required" json:"localPath" yaml:"localPath"`
	// `CfnModelExplainabilityJobDefinition.BatchTransformInputProperty.FeaturesAttribute`.
	FeaturesAttribute *string `field:"optional" json:"featuresAttribute" yaml:"featuresAttribute"`
	// `CfnModelExplainabilityJobDefinition.BatchTransformInputProperty.InferenceAttribute`.
	InferenceAttribute *string `field:"optional" json:"inferenceAttribute" yaml:"inferenceAttribute"`
	// `CfnModelExplainabilityJobDefinition.BatchTransformInputProperty.ProbabilityAttribute`.
	ProbabilityAttribute *string `field:"optional" json:"probabilityAttribute" yaml:"probabilityAttribute"`
	// `CfnModelExplainabilityJobDefinition.BatchTransformInputProperty.S3DataDistributionType`.
	S3DataDistributionType *string `field:"optional" json:"s3DataDistributionType" yaml:"s3DataDistributionType"`
	// `CfnModelExplainabilityJobDefinition.BatchTransformInputProperty.S3InputMode`.
	S3InputMode *string `field:"optional" json:"s3InputMode" yaml:"s3InputMode"`
}

Example:

// 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"

batchTransformInputProperty := &BatchTransformInputProperty{
	DataCapturedDestinationS3Uri: jsii.String("dataCapturedDestinationS3Uri"),
	DatasetFormat: &DatasetFormatProperty{
		Csv: &CsvProperty{
			Header: jsii.Boolean(false),
		},
		Json: &JsonProperty{
			Line: jsii.Boolean(false),
		},
		Parquet: jsii.Boolean(false),
	},
	LocalPath: jsii.String("localPath"),

	// the properties below are optional
	FeaturesAttribute: jsii.String("featuresAttribute"),
	InferenceAttribute: jsii.String("inferenceAttribute"),
	ProbabilityAttribute: jsii.String("probabilityAttribute"),
	S3DataDistributionType: jsii.String("s3DataDistributionType"),
	S3InputMode: jsii.String("s3InputMode"),
}

type CfnModelExplainabilityJobDefinition_ClusterConfigProperty

type CfnModelExplainabilityJobDefinition_ClusterConfigProperty struct {
	// The number of ML compute instances to use in the model monitoring job.
	//
	// For distributed processing jobs, specify a value greater than 1. The default value is 1.
	InstanceCount *float64 `field:"required" json:"instanceCount" yaml:"instanceCount"`
	// The ML compute instance type for the processing job.
	InstanceType *string `field:"required" json:"instanceType" yaml:"instanceType"`
	// The size of the ML storage volume, in gigabytes, that you want to provision.
	//
	// You must specify sufficient ML storage for your scenario.
	VolumeSizeInGb *float64 `field:"required" json:"volumeSizeInGb" yaml:"volumeSizeInGb"`
	// The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance(s) that run the model monitoring job.
	VolumeKmsKeyId *string `field:"optional" json:"volumeKmsKeyId" yaml:"volumeKmsKeyId"`
}

The configuration for the cluster resources used to run the processing job.

Example:

// 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"

clusterConfigProperty := &ClusterConfigProperty{
	InstanceCount: jsii.Number(123),
	InstanceType: jsii.String("instanceType"),
	VolumeSizeInGb: jsii.Number(123),

	// the properties below are optional
	VolumeKmsKeyId: jsii.String("volumeKmsKeyId"),
}

type CfnModelExplainabilityJobDefinition_ConstraintsResourceProperty

type CfnModelExplainabilityJobDefinition_ConstraintsResourceProperty struct {
	// The Amazon S3 URI for the constraints resource.
	S3Uri *string `field:"optional" json:"s3Uri" yaml:"s3Uri"`
}

Input object for the endpoint.

Example:

// 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"

constraintsResourceProperty := &ConstraintsResourceProperty{
	S3Uri: jsii.String("s3Uri"),
}

type CfnModelExplainabilityJobDefinition_CsvProperty added in v2.48.0

type CfnModelExplainabilityJobDefinition_CsvProperty struct {
	// `CfnModelExplainabilityJobDefinition.CsvProperty.Header`.
	Header interface{} `field:"optional" json:"header" yaml:"header"`
}

Example:

// 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"

csvProperty := &CsvProperty{
	Header: jsii.Boolean(false),
}

type CfnModelExplainabilityJobDefinition_DatasetFormatProperty added in v2.48.0

type CfnModelExplainabilityJobDefinition_DatasetFormatProperty struct {
	// `CfnModelExplainabilityJobDefinition.DatasetFormatProperty.Csv`.
	Csv interface{} `field:"optional" json:"csv" yaml:"csv"`
	// `CfnModelExplainabilityJobDefinition.DatasetFormatProperty.Json`.
	Json interface{} `field:"optional" json:"json" yaml:"json"`
	// `CfnModelExplainabilityJobDefinition.DatasetFormatProperty.Parquet`.
	Parquet interface{} `field:"optional" json:"parquet" yaml:"parquet"`
}

Example:

// 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"

datasetFormatProperty := &DatasetFormatProperty{
	Csv: &CsvProperty{
		Header: jsii.Boolean(false),
	},
	Json: &JsonProperty{
		Line: jsii.Boolean(false),
	},
	Parquet: jsii.Boolean(false),
}

type CfnModelExplainabilityJobDefinition_EndpointInputProperty

type CfnModelExplainabilityJobDefinition_EndpointInputProperty struct {
	// An endpoint in customer's account which has enabled `DataCaptureConfig` enabled.
	EndpointName *string `field:"required" json:"endpointName" yaml:"endpointName"`
	// Path to the filesystem where the endpoint data is available to the container.
	LocalPath *string `field:"required" json:"localPath" yaml:"localPath"`
	// The attributes of the input data that are the input features.
	FeaturesAttribute *string `field:"optional" json:"featuresAttribute" yaml:"featuresAttribute"`
	// The attribute of the input data that represents the ground truth label.
	InferenceAttribute *string `field:"optional" json:"inferenceAttribute" yaml:"inferenceAttribute"`
	// In a classification problem, the attribute that represents the class probability.
	ProbabilityAttribute *string `field:"optional" json:"probabilityAttribute" yaml:"probabilityAttribute"`
	// Whether input data distributed in Amazon S3 is fully replicated or sharded by an S3 key.
	//
	// Defaults to `FullyReplicated`.
	S3DataDistributionType *string `field:"optional" json:"s3DataDistributionType" yaml:"s3DataDistributionType"`
	// Whether the `Pipe` or `File` is used as the input mode for transferring data for the monitoring job.
	//
	// `Pipe` mode is recommended for large datasets. `File` mode is useful for small files that fit in memory. Defaults to `File` .
	S3InputMode *string `field:"optional" json:"s3InputMode" yaml:"s3InputMode"`
}

Input object for the endpoint.

Example:

// 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"

endpointInputProperty := &EndpointInputProperty{
	EndpointName: jsii.String("endpointName"),
	LocalPath: jsii.String("localPath"),

	// the properties below are optional
	FeaturesAttribute: jsii.String("featuresAttribute"),
	InferenceAttribute: jsii.String("inferenceAttribute"),
	ProbabilityAttribute: jsii.String("probabilityAttribute"),
	S3DataDistributionType: jsii.String("s3DataDistributionType"),
	S3InputMode: jsii.String("s3InputMode"),
}

type CfnModelExplainabilityJobDefinition_JsonProperty added in v2.48.0

type CfnModelExplainabilityJobDefinition_JsonProperty struct {
	// `CfnModelExplainabilityJobDefinition.JsonProperty.Line`.
	Line interface{} `field:"optional" json:"line" yaml:"line"`
}

Example:

// 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"

jsonProperty := &JsonProperty{
	Line: jsii.Boolean(false),
}

type CfnModelExplainabilityJobDefinition_ModelExplainabilityAppSpecificationProperty

type CfnModelExplainabilityJobDefinition_ModelExplainabilityAppSpecificationProperty struct {
	// JSON formatted S3 file that defines explainability parameters.
	//
	// For more information on this JSON configuration file, see [Configure model explainability parameters](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-config-json-monitor-model-explainability-parameters.html) .
	ConfigUri *string `field:"required" json:"configUri" yaml:"configUri"`
	// The container image to be run by the model explainability job.
	ImageUri *string `field:"required" json:"imageUri" yaml:"imageUri"`
	// Sets the environment variables in the Docker container.
	Environment interface{} `field:"optional" json:"environment" yaml:"environment"`
}

Docker container image configuration object for the model explainability job.

Example:

// 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"

modelExplainabilityAppSpecificationProperty := &ModelExplainabilityAppSpecificationProperty{
	ConfigUri: jsii.String("configUri"),
	ImageUri: jsii.String("imageUri"),

	// the properties below are optional
	Environment: map[string]*string{
		"environmentKey": jsii.String("environment"),
	},
}

type CfnModelExplainabilityJobDefinition_ModelExplainabilityBaselineConfigProperty

type CfnModelExplainabilityJobDefinition_ModelExplainabilityBaselineConfigProperty struct {
	// The name of the baseline model explainability job.
	BaseliningJobName *string `field:"optional" json:"baseliningJobName" yaml:"baseliningJobName"`
	// The constraints resource for a model explainability job.
	ConstraintsResource interface{} `field:"optional" json:"constraintsResource" yaml:"constraintsResource"`
}

The configuration for a baseline model explainability job.

Example:

// 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"

modelExplainabilityBaselineConfigProperty := &ModelExplainabilityBaselineConfigProperty{
	BaseliningJobName: jsii.String("baseliningJobName"),
	ConstraintsResource: &ConstraintsResourceProperty{
		S3Uri: jsii.String("s3Uri"),
	},
}

type CfnModelExplainabilityJobDefinition_ModelExplainabilityJobInputProperty

type CfnModelExplainabilityJobDefinition_ModelExplainabilityJobInputProperty struct {
	// `CfnModelExplainabilityJobDefinition.ModelExplainabilityJobInputProperty.BatchTransformInput`.
	BatchTransformInput interface{} `field:"optional" json:"batchTransformInput" yaml:"batchTransformInput"`
	// `CfnModelExplainabilityJobDefinition.ModelExplainabilityJobInputProperty.EndpointInput`.
	EndpointInput interface{} `field:"optional" json:"endpointInput" yaml:"endpointInput"`
}

Inputs for the model explainability job.

Example:

// 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"

modelExplainabilityJobInputProperty := &ModelExplainabilityJobInputProperty{
	BatchTransformInput: &BatchTransformInputProperty{
		DataCapturedDestinationS3Uri: jsii.String("dataCapturedDestinationS3Uri"),
		DatasetFormat: &DatasetFormatProperty{
			Csv: &CsvProperty{
				Header: jsii.Boolean(false),
			},
			Json: &JsonProperty{
				Line: jsii.Boolean(false),
			},
			Parquet: jsii.Boolean(false),
		},
		LocalPath: jsii.String("localPath"),

		// the properties below are optional
		FeaturesAttribute: jsii.String("featuresAttribute"),
		InferenceAttribute: jsii.String("inferenceAttribute"),
		ProbabilityAttribute: jsii.String("probabilityAttribute"),
		S3DataDistributionType: jsii.String("s3DataDistributionType"),
		S3InputMode: jsii.String("s3InputMode"),
	},
	EndpointInput: &EndpointInputProperty{
		EndpointName: jsii.String("endpointName"),
		LocalPath: jsii.String("localPath"),

		// the properties below are optional
		FeaturesAttribute: jsii.String("featuresAttribute"),
		InferenceAttribute: jsii.String("inferenceAttribute"),
		ProbabilityAttribute: jsii.String("probabilityAttribute"),
		S3DataDistributionType: jsii.String("s3DataDistributionType"),
		S3InputMode: jsii.String("s3InputMode"),
	},
}

type CfnModelExplainabilityJobDefinition_MonitoringOutputConfigProperty

type CfnModelExplainabilityJobDefinition_MonitoringOutputConfigProperty struct {
	// Monitoring outputs for monitoring jobs.
	//
	// This is where the output of the periodic monitoring jobs is uploaded.
	MonitoringOutputs interface{} `field:"required" json:"monitoringOutputs" yaml:"monitoringOutputs"`
	// The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt the model artifacts at rest using Amazon S3 server-side encryption.
	KmsKeyId *string `field:"optional" json:"kmsKeyId" yaml:"kmsKeyId"`
}

The output configuration for monitoring jobs.

Example:

// 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"

monitoringOutputConfigProperty := &MonitoringOutputConfigProperty{
	MonitoringOutputs: []interface{}{
		&MonitoringOutputProperty{
			S3Output: &S3OutputProperty{
				LocalPath: jsii.String("localPath"),
				S3Uri: jsii.String("s3Uri"),

				// the properties below are optional
				S3UploadMode: jsii.String("s3UploadMode"),
			},
		},
	},

	// the properties below are optional
	KmsKeyId: jsii.String("kmsKeyId"),
}

type CfnModelExplainabilityJobDefinition_MonitoringOutputProperty

type CfnModelExplainabilityJobDefinition_MonitoringOutputProperty struct {
	// The Amazon S3 storage location where the results of a monitoring job are saved.
	S3Output interface{} `field:"required" json:"s3Output" yaml:"s3Output"`
}

The output object for a monitoring job.

Example:

// 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"

monitoringOutputProperty := &MonitoringOutputProperty{
	S3Output: &S3OutputProperty{
		LocalPath: jsii.String("localPath"),
		S3Uri: jsii.String("s3Uri"),

		// the properties below are optional
		S3UploadMode: jsii.String("s3UploadMode"),
	},
}

type CfnModelExplainabilityJobDefinition_MonitoringResourcesProperty

type CfnModelExplainabilityJobDefinition_MonitoringResourcesProperty struct {
	// The configuration for the cluster resources used to run the processing job.
	ClusterConfig interface{} `field:"required" json:"clusterConfig" yaml:"clusterConfig"`
}

Identifies the resources to deploy for a monitoring job.

Example:

// 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"

monitoringResourcesProperty := &MonitoringResourcesProperty{
	ClusterConfig: &ClusterConfigProperty{
		InstanceCount: jsii.Number(123),
		InstanceType: jsii.String("instanceType"),
		VolumeSizeInGb: jsii.Number(123),

		// the properties below are optional
		VolumeKmsKeyId: jsii.String("volumeKmsKeyId"),
	},
}

type CfnModelExplainabilityJobDefinition_NetworkConfigProperty

type CfnModelExplainabilityJobDefinition_NetworkConfigProperty struct {
	// Whether to encrypt all communications between distributed processing jobs.
	//
	// Choose `True` to encrypt communications. Encryption provides greater security for distributed processing jobs, but the processing might take longer.
	EnableInterContainerTrafficEncryption interface{} `field:"optional" json:"enableInterContainerTrafficEncryption" yaml:"enableInterContainerTrafficEncryption"`
	// Whether to allow inbound and outbound network calls to and from the containers used for the processing job.
	EnableNetworkIsolation interface{} `field:"optional" json:"enableNetworkIsolation" yaml:"enableNetworkIsolation"`
	// Specifies a VPC that your training jobs and hosted models have access to.
	//
	// Control access to and from your training and model containers by configuring the VPC.
	VpcConfig interface{} `field:"optional" json:"vpcConfig" yaml:"vpcConfig"`
}

Networking options for a job, such as network traffic encryption between containers, whether to allow inbound and outbound network calls to and from containers, and the VPC subnets and security groups to use for VPC-enabled jobs.

Example:

// 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"

networkConfigProperty := &NetworkConfigProperty{
	EnableInterContainerTrafficEncryption: jsii.Boolean(false),
	EnableNetworkIsolation: jsii.Boolean(false),
	VpcConfig: &VpcConfigProperty{
		SecurityGroupIds: []*string{
			jsii.String("securityGroupIds"),
		},
		Subnets: []*string{
			jsii.String("subnets"),
		},
	},
}

type CfnModelExplainabilityJobDefinition_S3OutputProperty

type CfnModelExplainabilityJobDefinition_S3OutputProperty struct {
	// The local path to the Amazon S3 storage location where Amazon SageMaker saves the results of a monitoring job.
	//
	// LocalPath is an absolute path for the output data.
	LocalPath *string `field:"required" json:"localPath" yaml:"localPath"`
	// A URI that identifies the Amazon S3 storage location where Amazon SageMaker saves the results of a monitoring job.
	S3Uri *string `field:"required" json:"s3Uri" yaml:"s3Uri"`
	// Whether to upload the results of the monitoring job continuously or after the job completes.
	S3UploadMode *string `field:"optional" json:"s3UploadMode" yaml:"s3UploadMode"`
}

The Amazon S3 storage location where the results of a monitoring job are saved.

Example:

// 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"

s3OutputProperty := &S3OutputProperty{
	LocalPath: jsii.String("localPath"),
	S3Uri: jsii.String("s3Uri"),

	// the properties below are optional
	S3UploadMode: jsii.String("s3UploadMode"),
}

type CfnModelExplainabilityJobDefinition_StoppingConditionProperty

type CfnModelExplainabilityJobDefinition_StoppingConditionProperty struct {
	// The maximum length of time, in seconds, that a training or compilation job can run before it is stopped.
	//
	// For compilation jobs, if the job does not complete during this time, a `TimeOut` error is generated. We recommend starting with 900 seconds and increasing as necessary based on your model.
	//
	// For all other jobs, if the job does not complete during this time, SageMaker ends the job. When `RetryStrategy` is specified in the job request, `MaxRuntimeInSeconds` specifies the maximum time for all of the attempts in total, not each individual attempt. The default value is 1 day. The maximum value is 28 days.
	//
	// The maximum time that a `TrainingJob` can run in total, including any time spent publishing metrics or archiving and uploading models after it has been stopped, is 30 days.
	MaxRuntimeInSeconds *float64 `field:"required" json:"maxRuntimeInSeconds" yaml:"maxRuntimeInSeconds"`
}

Specifies a limit to how long a model training job or model compilation job can run.

It also specifies how long a managed spot training job has to complete. When the job reaches the time limit, SageMaker ends the training or compilation job. Use this API to cap model training costs.

To stop a training job, SageMaker sends the algorithm the `SIGTERM` signal, which delays job termination for 120 seconds. Algorithms can use this 120-second window to save the model artifacts, so the results of training are not lost.

The training algorithms provided by SageMaker automatically save the intermediate results of a model training job when possible. This attempt to save artifacts is only a best effort case as model might not be in a state from which it can be saved. For example, if training has just started, the model might not be ready to save. When saved, this intermediate data is a valid model artifact. You can use it to create a model with `CreateModel` .

> The Neural Topic Model (NTM) currently does not support saving intermediate model artifacts. When training NTMs, make sure that the maximum runtime is sufficient for the training job to complete.

Example:

// 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"

stoppingConditionProperty := &StoppingConditionProperty{
	MaxRuntimeInSeconds: jsii.Number(123),
}

type CfnModelExplainabilityJobDefinition_VpcConfigProperty

type CfnModelExplainabilityJobDefinition_VpcConfigProperty struct {
	// The VPC security group IDs, in the form sg-xxxxxxxx.
	//
	// Specify the security groups for the VPC that is specified in the `Subnets` field.
	SecurityGroupIds *[]*string `field:"required" json:"securityGroupIds" yaml:"securityGroupIds"`
	// The ID of the subnets in the VPC to which you want to connect your training job or model.
	//
	// For information about the availability of specific instance types, see [Supported Instance Types and Availability Zones](https://docs.aws.amazon.com/sagemaker/latest/dg/instance-types-az.html) .
	Subnets *[]*string `field:"required" json:"subnets" yaml:"subnets"`
}

Specifies a VPC that your training jobs and hosted models have access to.

Control access to and from your training and model containers by configuring the VPC. For more information, see [Protect Endpoints by Using an Amazon Virtual Private Cloud](https://docs.aws.amazon.com/sagemaker/latest/dg/host-vpc.html) and [Protect Training Jobs by Using an Amazon Virtual Private Cloud](https://docs.aws.amazon.com/sagemaker/latest/dg/train-vpc.html) .

Example:

// 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"

vpcConfigProperty := &VpcConfigProperty{
	SecurityGroupIds: []*string{
		jsii.String("securityGroupIds"),
	},
	Subnets: []*string{
		jsii.String("subnets"),
	},
}

type CfnModelPackage added in v2.45.0

type CfnModelPackage interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// A structure of additional Inference Specification.
	//
	// Additional Inference Specification specifies details about inference jobs that can be run with models based on this model package.
	AdditionalInferenceSpecificationDefinition() interface{}
	SetAdditionalInferenceSpecificationDefinition(val interface{})
	// An array of additional Inference Specification objects.
	AdditionalInferenceSpecifications() interface{}
	SetAdditionalInferenceSpecifications(val interface{})
	// An array of additional Inference Specification objects to be added to the existing array.
	//
	// The total number of additional Inference Specification objects cannot exceed 15. Each additional Inference Specification object specifies artifacts based on this model package that can be used on inference endpoints. Generally used with SageMaker Neo to store the compiled artifacts.
	AdditionalInferenceSpecificationsToAdd() interface{}
	SetAdditionalInferenceSpecificationsToAdd(val interface{})
	// A description provided when the model approval is set.
	ApprovalDescription() *string
	SetApprovalDescription(val *string)
	// The time that the model package was created.
	AttrCreationTime() *string
	// The Amazon Resource Name (ARN) of the model package.
	AttrModelPackageArn() *string
	// The status of the model package. This can be one of the following values.
	//
	// - `PENDING` - The model package creation is pending.
	// - `IN_PROGRESS` - The model package is in the process of being created.
	// - `COMPLETED` - The model package was successfully created.
	// - `FAILED` - The model package creation failed.
	// - `DELETING` - The model package is in the process of being deleted.
	AttrModelPackageStatus() *string
	// Whether the model package is to be certified to be listed on AWS Marketplace.
	//
	// For information about listing model packages on AWS Marketplace, see [List Your Algorithm or Model Package on AWS Marketplace](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-mkt-list.html) .
	CertifyForMarketplace() interface{}
	SetCertifyForMarketplace(val interface{})
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// A unique token that guarantees that the call to this API is idempotent.
	ClientToken() *string
	SetClientToken(val *string)
	// Information about the user who created or modified an experiment, trial, trial component, lineage group, or project.
	CreatedBy() interface{}
	SetCreatedBy(val interface{})
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// The metadata properties for the model package.
	CustomerMetadataProperties() interface{}
	SetCustomerMetadataProperties(val interface{})
	// The machine learning domain of your model package and its components.
	//
	// Common machine learning domains include computer vision and natural language processing.
	Domain() *string
	SetDomain(val *string)
	// Represents the drift check baselines that can be used when the model monitor is set using the model package.
	DriftCheckBaselines() interface{}
	SetDriftCheckBaselines(val interface{})
	// The environment variables to set in the Docker container.
	//
	// Each key and value in the `Environment` string to string map can have length of up to 1024. We support up to 16 entries in the map.
	Environment() interface{}
	SetEnvironment(val interface{})
	// Defines how to perform inference generation after a training job is run.
	InferenceSpecification() interface{}
	SetInferenceSpecification(val interface{})
	// Information about the user who created or modified an experiment, trial, trial component, lineage group, or project.
	LastModifiedBy() interface{}
	SetLastModifiedBy(val interface{})
	// The last time the model package was modified.
	LastModifiedTime() *string
	SetLastModifiedTime(val *string)
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// Metadata properties of the tracking entity, trial, or trial component.
	MetadataProperties() interface{}
	SetMetadataProperties(val interface{})
	// The approval status of the model. This can be one of the following values.
	//
	// - `APPROVED` - The model is approved
	// - `REJECTED` - The model is rejected.
	// - `PENDING_MANUAL_APPROVAL` - The model is waiting for manual approval.
	ModelApprovalStatus() *string
	SetModelApprovalStatus(val *string)
	// Metrics for the model.
	ModelMetrics() interface{}
	SetModelMetrics(val interface{})
	// The description of the model package.
	ModelPackageDescription() *string
	SetModelPackageDescription(val *string)
	// The model group to which the model belongs.
	ModelPackageGroupName() *string
	SetModelPackageGroupName(val *string)
	// The name of the model.
	ModelPackageName() *string
	SetModelPackageName(val *string)
	// Specifies the validation and image scan statuses of the model package.
	ModelPackageStatusDetails() interface{}
	SetModelPackageStatusDetails(val interface{})
	// Represents the overall status of a model package.
	ModelPackageStatusItem() interface{}
	SetModelPackageStatusItem(val interface{})
	// The version number of a versioned model.
	ModelPackageVersion() *float64
	SetModelPackageVersion(val *float64)
	// The tree node.
	Node() constructs.Node
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// The Amazon Simple Storage Service path where the sample payload are stored.
	//
	// This path must point to a single gzip compressed tar archive (.tar.gz suffix).
	SamplePayloadUrl() *string
	SetSamplePayloadUrl(val *string)
	// A list of algorithms that were used to create a model package.
	SourceAlgorithmSpecification() interface{}
	SetSourceAlgorithmSpecification(val interface{})
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// A list of the tags associated with the model package.
	//
	// For more information, see [Tagging AWS resources](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) in the *AWS General Reference Guide* .
	Tags() awscdk.TagManager
	// The machine learning task your model package accomplishes.
	//
	// Common machine learning tasks include object detection and image classification.
	Task() *string
	SetTask(val *string)
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// Specifies batch transform jobs that SageMaker runs to validate your model package.
	ValidationSpecification() interface{}
	SetValidationSpecification(val interface{})
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// 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`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::SageMaker::ModelPackage`.

A versioned model that can be deployed for SageMaker inference.

Example:

// 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"

var modelInput interface{}

cfnModelPackage := awscdk.Aws_sagemaker.NewCfnModelPackage(this, jsii.String("MyCfnModelPackage"), &CfnModelPackageProps{
	AdditionalInferenceSpecificationDefinition: &AdditionalInferenceSpecificationDefinitionProperty{
		Containers: []interface{}{
			&ModelPackageContainerDefinitionProperty{
				Image: jsii.String("image"),

				// the properties below are optional
				ContainerHostname: jsii.String("containerHostname"),
				Environment: map[string]*string{
					"environmentKey": jsii.String("environment"),
				},
				Framework: jsii.String("framework"),
				FrameworkVersion: jsii.String("frameworkVersion"),
				ImageDigest: jsii.String("imageDigest"),
				ModelDataUrl: jsii.String("modelDataUrl"),
				ModelInput: modelInput,
				NearestModelName: jsii.String("nearestModelName"),
				ProductId: jsii.String("productId"),
			},
		},
		Name: jsii.String("name"),

		// the properties below are optional
		Description: jsii.String("description"),
		SupportedContentTypes: []*string{
			jsii.String("supportedContentTypes"),
		},
		SupportedRealtimeInferenceInstanceTypes: []*string{
			jsii.String("supportedRealtimeInferenceInstanceTypes"),
		},
		SupportedResponseMimeTypes: []*string{
			jsii.String("supportedResponseMimeTypes"),
		},
		SupportedTransformInstanceTypes: []*string{
			jsii.String("supportedTransformInstanceTypes"),
		},
	},
	AdditionalInferenceSpecifications: []interface{}{
		&AdditionalInferenceSpecificationDefinitionProperty{
			Containers: []interface{}{
				&ModelPackageContainerDefinitionProperty{
					Image: jsii.String("image"),

					// the properties below are optional
					ContainerHostname: jsii.String("containerHostname"),
					Environment: map[string]*string{
						"environmentKey": jsii.String("environment"),
					},
					Framework: jsii.String("framework"),
					FrameworkVersion: jsii.String("frameworkVersion"),
					ImageDigest: jsii.String("imageDigest"),
					ModelDataUrl: jsii.String("modelDataUrl"),
					ModelInput: modelInput,
					NearestModelName: jsii.String("nearestModelName"),
					ProductId: jsii.String("productId"),
				},
			},
			Name: jsii.String("name"),

			// the properties below are optional
			Description: jsii.String("description"),
			SupportedContentTypes: []*string{
				jsii.String("supportedContentTypes"),
			},
			SupportedRealtimeInferenceInstanceTypes: []*string{
				jsii.String("supportedRealtimeInferenceInstanceTypes"),
			},
			SupportedResponseMimeTypes: []*string{
				jsii.String("supportedResponseMimeTypes"),
			},
			SupportedTransformInstanceTypes: []*string{
				jsii.String("supportedTransformInstanceTypes"),
			},
		},
	},
	AdditionalInferenceSpecificationsToAdd: []interface{}{
		&AdditionalInferenceSpecificationDefinitionProperty{
			Containers: []interface{}{
				&ModelPackageContainerDefinitionProperty{
					Image: jsii.String("image"),

					// the properties below are optional
					ContainerHostname: jsii.String("containerHostname"),
					Environment: map[string]*string{
						"environmentKey": jsii.String("environment"),
					},
					Framework: jsii.String("framework"),
					FrameworkVersion: jsii.String("frameworkVersion"),
					ImageDigest: jsii.String("imageDigest"),
					ModelDataUrl: jsii.String("modelDataUrl"),
					ModelInput: modelInput,
					NearestModelName: jsii.String("nearestModelName"),
					ProductId: jsii.String("productId"),
				},
			},
			Name: jsii.String("name"),

			// the properties below are optional
			Description: jsii.String("description"),
			SupportedContentTypes: []*string{
				jsii.String("supportedContentTypes"),
			},
			SupportedRealtimeInferenceInstanceTypes: []*string{
				jsii.String("supportedRealtimeInferenceInstanceTypes"),
			},
			SupportedResponseMimeTypes: []*string{
				jsii.String("supportedResponseMimeTypes"),
			},
			SupportedTransformInstanceTypes: []*string{
				jsii.String("supportedTransformInstanceTypes"),
			},
		},
	},
	ApprovalDescription: jsii.String("approvalDescription"),
	CertifyForMarketplace: jsii.Boolean(false),
	ClientToken: jsii.String("clientToken"),
	CreatedBy: &UserContextProperty{
		DomainId: jsii.String("domainId"),
		UserProfileArn: jsii.String("userProfileArn"),
		UserProfileName: jsii.String("userProfileName"),
	},
	CustomerMetadataProperties: map[string]*string{
		"customerMetadataPropertiesKey": jsii.String("customerMetadataProperties"),
	},
	Domain: jsii.String("domain"),
	DriftCheckBaselines: &DriftCheckBaselinesProperty{
		Bias: &DriftCheckBiasProperty{
			ConfigFile: &FileSourceProperty{
				S3Uri: jsii.String("s3Uri"),

				// the properties below are optional
				ContentDigest: jsii.String("contentDigest"),
				ContentType: jsii.String("contentType"),
			},
			PostTrainingConstraints: &MetricsSourceProperty{
				ContentType: jsii.String("contentType"),
				S3Uri: jsii.String("s3Uri"),

				// the properties below are optional
				ContentDigest: jsii.String("contentDigest"),
			},
			PreTrainingConstraints: &MetricsSourceProperty{
				ContentType: jsii.String("contentType"),
				S3Uri: jsii.String("s3Uri"),

				// the properties below are optional
				ContentDigest: jsii.String("contentDigest"),
			},
		},
		Explainability: &DriftCheckExplainabilityProperty{
			ConfigFile: &FileSourceProperty{
				S3Uri: jsii.String("s3Uri"),

				// the properties below are optional
				ContentDigest: jsii.String("contentDigest"),
				ContentType: jsii.String("contentType"),
			},
			Constraints: &MetricsSourceProperty{
				ContentType: jsii.String("contentType"),
				S3Uri: jsii.String("s3Uri"),

				// the properties below are optional
				ContentDigest: jsii.String("contentDigest"),
			},
		},
		ModelDataQuality: &DriftCheckModelDataQualityProperty{
			Constraints: &MetricsSourceProperty{
				ContentType: jsii.String("contentType"),
				S3Uri: jsii.String("s3Uri"),

				// the properties below are optional
				ContentDigest: jsii.String("contentDigest"),
			},
			Statistics: &MetricsSourceProperty{
				ContentType: jsii.String("contentType"),
				S3Uri: jsii.String("s3Uri"),

				// the properties below are optional
				ContentDigest: jsii.String("contentDigest"),
			},
		},
		ModelQuality: &DriftCheckModelQualityProperty{
			Constraints: &MetricsSourceProperty{
				ContentType: jsii.String("contentType"),
				S3Uri: jsii.String("s3Uri"),

				// the properties below are optional
				ContentDigest: jsii.String("contentDigest"),
			},
			Statistics: &MetricsSourceProperty{
				ContentType: jsii.String("contentType"),
				S3Uri: jsii.String("s3Uri"),

				// the properties below are optional
				ContentDigest: jsii.String("contentDigest"),
			},
		},
	},
	Environment: map[string]*string{
		"environmentKey": jsii.String("environment"),
	},
	InferenceSpecification: &InferenceSpecificationProperty{
		Containers: []interface{}{
			&ModelPackageContainerDefinitionProperty{
				Image: jsii.String("image"),

				// the properties below are optional
				ContainerHostname: jsii.String("containerHostname"),
				Environment: map[string]*string{
					"environmentKey": jsii.String("environment"),
				},
				Framework: jsii.String("framework"),
				FrameworkVersion: jsii.String("frameworkVersion"),
				ImageDigest: jsii.String("imageDigest"),
				ModelDataUrl: jsii.String("modelDataUrl"),
				ModelInput: modelInput,
				NearestModelName: jsii.String("nearestModelName"),
				ProductId: jsii.String("productId"),
			},
		},
		SupportedContentTypes: []*string{
			jsii.String("supportedContentTypes"),
		},
		SupportedResponseMimeTypes: []*string{
			jsii.String("supportedResponseMimeTypes"),
		},

		// the properties below are optional
		SupportedRealtimeInferenceInstanceTypes: []*string{
			jsii.String("supportedRealtimeInferenceInstanceTypes"),
		},
		SupportedTransformInstanceTypes: []*string{
			jsii.String("supportedTransformInstanceTypes"),
		},
	},
	LastModifiedBy: &UserContextProperty{
		DomainId: jsii.String("domainId"),
		UserProfileArn: jsii.String("userProfileArn"),
		UserProfileName: jsii.String("userProfileName"),
	},
	LastModifiedTime: jsii.String("lastModifiedTime"),
	MetadataProperties: &MetadataPropertiesProperty{
		CommitId: jsii.String("commitId"),
		GeneratedBy: jsii.String("generatedBy"),
		ProjectId: jsii.String("projectId"),
		Repository: jsii.String("repository"),
	},
	ModelApprovalStatus: jsii.String("modelApprovalStatus"),
	ModelMetrics: &ModelMetricsProperty{
		Bias: &BiasProperty{
			PostTrainingReport: &MetricsSourceProperty{
				ContentType: jsii.String("contentType"),
				S3Uri: jsii.String("s3Uri"),

				// the properties below are optional
				ContentDigest: jsii.String("contentDigest"),
			},
			PreTrainingReport: &MetricsSourceProperty{
				ContentType: jsii.String("contentType"),
				S3Uri: jsii.String("s3Uri"),

				// the properties below are optional
				ContentDigest: jsii.String("contentDigest"),
			},
			Report: &MetricsSourceProperty{
				ContentType: jsii.String("contentType"),
				S3Uri: jsii.String("s3Uri"),

				// the properties below are optional
				ContentDigest: jsii.String("contentDigest"),
			},
		},
		Explainability: &ExplainabilityProperty{
			Report: &MetricsSourceProperty{
				ContentType: jsii.String("contentType"),
				S3Uri: jsii.String("s3Uri"),

				// the properties below are optional
				ContentDigest: jsii.String("contentDigest"),
			},
		},
		ModelDataQuality: &ModelDataQualityProperty{
			Constraints: &MetricsSourceProperty{
				ContentType: jsii.String("contentType"),
				S3Uri: jsii.String("s3Uri"),

				// the properties below are optional
				ContentDigest: jsii.String("contentDigest"),
			},
			Statistics: &MetricsSourceProperty{
				ContentType: jsii.String("contentType"),
				S3Uri: jsii.String("s3Uri"),

				// the properties below are optional
				ContentDigest: jsii.String("contentDigest"),
			},
		},
		ModelQuality: &ModelQualityProperty{
			Constraints: &MetricsSourceProperty{
				ContentType: jsii.String("contentType"),
				S3Uri: jsii.String("s3Uri"),

				// the properties below are optional
				ContentDigest: jsii.String("contentDigest"),
			},
			Statistics: &MetricsSourceProperty{
				ContentType: jsii.String("contentType"),
				S3Uri: jsii.String("s3Uri"),

				// the properties below are optional
				ContentDigest: jsii.String("contentDigest"),
			},
		},
	},
	ModelPackageDescription: jsii.String("modelPackageDescription"),
	ModelPackageGroupName: jsii.String("modelPackageGroupName"),
	ModelPackageName: jsii.String("modelPackageName"),
	ModelPackageStatusDetails: &ModelPackageStatusDetailsProperty{
		ValidationStatuses: []interface{}{
			&ModelPackageStatusItemProperty{
				Name: jsii.String("name"),
				Status: jsii.String("status"),

				// the properties below are optional
				FailureReason: jsii.String("failureReason"),
			},
		},

		// the properties below are optional
		ImageScanStatuses: []interface{}{
			&ModelPackageStatusItemProperty{
				Name: jsii.String("name"),
				Status: jsii.String("status"),

				// the properties below are optional
				FailureReason: jsii.String("failureReason"),
			},
		},
	},
	ModelPackageStatusItem: &ModelPackageStatusItemProperty{
		Name: jsii.String("name"),
		Status: jsii.String("status"),

		// the properties below are optional
		FailureReason: jsii.String("failureReason"),
	},
	ModelPackageVersion: jsii.Number(123),
	SamplePayloadUrl: jsii.String("samplePayloadUrl"),
	SourceAlgorithmSpecification: &SourceAlgorithmSpecificationProperty{
		SourceAlgorithms: []interface{}{
			&SourceAlgorithmProperty{
				AlgorithmName: jsii.String("algorithmName"),

				// the properties below are optional
				ModelDataUrl: jsii.String("modelDataUrl"),
			},
		},
	},
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
	Task: jsii.String("task"),
	ValidationSpecification: &ValidationSpecificationProperty{
		ValidationProfiles: []interface{}{
			&ValidationProfileProperty{
				ProfileName: jsii.String("profileName"),
				TransformJobDefinition: &TransformJobDefinitionProperty{
					TransformInput: &TransformInputProperty{
						DataSource: &DataSourceProperty{
							S3DataSource: &S3DataSourceProperty{
								S3DataType: jsii.String("s3DataType"),
								S3Uri: jsii.String("s3Uri"),
							},
						},

						// the properties below are optional
						CompressionType: jsii.String("compressionType"),
						ContentType: jsii.String("contentType"),
						SplitType: jsii.String("splitType"),
					},
					TransformOutput: &TransformOutputProperty{
						S3OutputPath: jsii.String("s3OutputPath"),

						// the properties below are optional
						Accept: jsii.String("accept"),
						AssembleWith: jsii.String("assembleWith"),
						KmsKeyId: jsii.String("kmsKeyId"),
					},
					TransformResources: &TransformResourcesProperty{
						InstanceCount: jsii.Number(123),
						InstanceType: jsii.String("instanceType"),

						// the properties below are optional
						VolumeKmsKeyId: jsii.String("volumeKmsKeyId"),
					},

					// the properties below are optional
					BatchStrategy: jsii.String("batchStrategy"),
					Environment: map[string]*string{
						"environmentKey": jsii.String("environment"),
					},
					MaxConcurrentTransforms: jsii.Number(123),
					MaxPayloadInMb: jsii.Number(123),
				},
			},
		},
		ValidationRole: jsii.String("validationRole"),
	},
})

func NewCfnModelPackage added in v2.45.0

func NewCfnModelPackage(scope constructs.Construct, id *string, props *CfnModelPackageProps) CfnModelPackage

Create a new `AWS::SageMaker::ModelPackage`.

type CfnModelPackageGroup

type CfnModelPackageGroup interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// The time when the model group was created.
	AttrCreationTime() *string
	// The Amazon Resource Name (ARN) of the model group.
	AttrModelPackageGroupArn() *string
	// The status of the model group.
	AttrModelPackageGroupStatus() *string
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The description for the model group.
	ModelPackageGroupDescription() *string
	SetModelPackageGroupDescription(val *string)
	// The name of the model group.
	ModelPackageGroupName() *string
	SetModelPackageGroupName(val *string)
	// A resouce policy to control access to a model group.
	//
	// For information about resoure policies, see [Identity-based policies and resource-based policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html) in the *AWS Identity and Access Management User Guide.* .
	ModelPackageGroupPolicy() interface{}
	SetModelPackageGroupPolicy(val interface{})
	// The tree node.
	Node() constructs.Node
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// An array of key-value pairs to apply to this resource.
	//
	// For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .
	Tags() awscdk.TagManager
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// 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`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::SageMaker::ModelPackageGroup`.

A group of versioned models in the model registry.

Example:

// 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"

var modelPackageGroupPolicy interface{}

cfnModelPackageGroup := awscdk.Aws_sagemaker.NewCfnModelPackageGroup(this, jsii.String("MyCfnModelPackageGroup"), &CfnModelPackageGroupProps{
	ModelPackageGroupName: jsii.String("modelPackageGroupName"),

	// the properties below are optional
	ModelPackageGroupDescription: jsii.String("modelPackageGroupDescription"),
	ModelPackageGroupPolicy: modelPackageGroupPolicy,
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
})

func NewCfnModelPackageGroup

func NewCfnModelPackageGroup(scope constructs.Construct, id *string, props *CfnModelPackageGroupProps) CfnModelPackageGroup

Create a new `AWS::SageMaker::ModelPackageGroup`.

type CfnModelPackageGroupProps

type CfnModelPackageGroupProps struct {
	// The name of the model group.
	ModelPackageGroupName *string `field:"required" json:"modelPackageGroupName" yaml:"modelPackageGroupName"`
	// The description for the model group.
	ModelPackageGroupDescription *string `field:"optional" json:"modelPackageGroupDescription" yaml:"modelPackageGroupDescription"`
	// A resouce policy to control access to a model group.
	//
	// For information about resoure policies, see [Identity-based policies and resource-based policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html) in the *AWS Identity and Access Management User Guide.* .
	ModelPackageGroupPolicy interface{} `field:"optional" json:"modelPackageGroupPolicy" yaml:"modelPackageGroupPolicy"`
	// An array of key-value pairs to apply to this resource.
	//
	// For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
}

Properties for defining a `CfnModelPackageGroup`.

Example:

// 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"

var modelPackageGroupPolicy interface{}

cfnModelPackageGroupProps := &CfnModelPackageGroupProps{
	ModelPackageGroupName: jsii.String("modelPackageGroupName"),

	// the properties below are optional
	ModelPackageGroupDescription: jsii.String("modelPackageGroupDescription"),
	ModelPackageGroupPolicy: modelPackageGroupPolicy,
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
}

type CfnModelPackageProps added in v2.45.0

type CfnModelPackageProps struct {
	// A structure of additional Inference Specification.
	//
	// Additional Inference Specification specifies details about inference jobs that can be run with models based on this model package.
	AdditionalInferenceSpecificationDefinition interface{} `field:"optional" json:"additionalInferenceSpecificationDefinition" yaml:"additionalInferenceSpecificationDefinition"`
	// An array of additional Inference Specification objects.
	AdditionalInferenceSpecifications interface{} `field:"optional" json:"additionalInferenceSpecifications" yaml:"additionalInferenceSpecifications"`
	// An array of additional Inference Specification objects to be added to the existing array.
	//
	// The total number of additional Inference Specification objects cannot exceed 15. Each additional Inference Specification object specifies artifacts based on this model package that can be used on inference endpoints. Generally used with SageMaker Neo to store the compiled artifacts.
	AdditionalInferenceSpecificationsToAdd interface{} `field:"optional" json:"additionalInferenceSpecificationsToAdd" yaml:"additionalInferenceSpecificationsToAdd"`
	// A description provided when the model approval is set.
	ApprovalDescription *string `field:"optional" json:"approvalDescription" yaml:"approvalDescription"`
	// Whether the model package is to be certified to be listed on AWS Marketplace.
	//
	// For information about listing model packages on AWS Marketplace, see [List Your Algorithm or Model Package on AWS Marketplace](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-mkt-list.html) .
	CertifyForMarketplace interface{} `field:"optional" json:"certifyForMarketplace" yaml:"certifyForMarketplace"`
	// A unique token that guarantees that the call to this API is idempotent.
	ClientToken *string `field:"optional" json:"clientToken" yaml:"clientToken"`
	// Information about the user who created or modified an experiment, trial, trial component, lineage group, or project.
	CreatedBy interface{} `field:"optional" json:"createdBy" yaml:"createdBy"`
	// The metadata properties for the model package.
	CustomerMetadataProperties interface{} `field:"optional" json:"customerMetadataProperties" yaml:"customerMetadataProperties"`
	// The machine learning domain of your model package and its components.
	//
	// Common machine learning domains include computer vision and natural language processing.
	Domain *string `field:"optional" json:"domain" yaml:"domain"`
	// Represents the drift check baselines that can be used when the model monitor is set using the model package.
	DriftCheckBaselines interface{} `field:"optional" json:"driftCheckBaselines" yaml:"driftCheckBaselines"`
	// The environment variables to set in the Docker container.
	//
	// Each key and value in the `Environment` string to string map can have length of up to 1024. We support up to 16 entries in the map.
	Environment interface{} `field:"optional" json:"environment" yaml:"environment"`
	// Defines how to perform inference generation after a training job is run.
	InferenceSpecification interface{} `field:"optional" json:"inferenceSpecification" yaml:"inferenceSpecification"`
	// Information about the user who created or modified an experiment, trial, trial component, lineage group, or project.
	LastModifiedBy interface{} `field:"optional" json:"lastModifiedBy" yaml:"lastModifiedBy"`
	// The last time the model package was modified.
	LastModifiedTime *string `field:"optional" json:"lastModifiedTime" yaml:"lastModifiedTime"`
	// Metadata properties of the tracking entity, trial, or trial component.
	MetadataProperties interface{} `field:"optional" json:"metadataProperties" yaml:"metadataProperties"`
	// The approval status of the model. This can be one of the following values.
	//
	// - `APPROVED` - The model is approved
	// - `REJECTED` - The model is rejected.
	// - `PENDING_MANUAL_APPROVAL` - The model is waiting for manual approval.
	ModelApprovalStatus *string `field:"optional" json:"modelApprovalStatus" yaml:"modelApprovalStatus"`
	// Metrics for the model.
	ModelMetrics interface{} `field:"optional" json:"modelMetrics" yaml:"modelMetrics"`
	// The description of the model package.
	ModelPackageDescription *string `field:"optional" json:"modelPackageDescription" yaml:"modelPackageDescription"`
	// The model group to which the model belongs.
	ModelPackageGroupName *string `field:"optional" json:"modelPackageGroupName" yaml:"modelPackageGroupName"`
	// The name of the model.
	ModelPackageName *string `field:"optional" json:"modelPackageName" yaml:"modelPackageName"`
	// Specifies the validation and image scan statuses of the model package.
	ModelPackageStatusDetails interface{} `field:"optional" json:"modelPackageStatusDetails" yaml:"modelPackageStatusDetails"`
	// Represents the overall status of a model package.
	ModelPackageStatusItem interface{} `field:"optional" json:"modelPackageStatusItem" yaml:"modelPackageStatusItem"`
	// The version number of a versioned model.
	ModelPackageVersion *float64 `field:"optional" json:"modelPackageVersion" yaml:"modelPackageVersion"`
	// The Amazon Simple Storage Service path where the sample payload are stored.
	//
	// This path must point to a single gzip compressed tar archive (.tar.gz suffix).
	SamplePayloadUrl *string `field:"optional" json:"samplePayloadUrl" yaml:"samplePayloadUrl"`
	// A list of algorithms that were used to create a model package.
	SourceAlgorithmSpecification interface{} `field:"optional" json:"sourceAlgorithmSpecification" yaml:"sourceAlgorithmSpecification"`
	// A list of the tags associated with the model package.
	//
	// For more information, see [Tagging AWS resources](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) in the *AWS General Reference Guide* .
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
	// The machine learning task your model package accomplishes.
	//
	// Common machine learning tasks include object detection and image classification.
	Task *string `field:"optional" json:"task" yaml:"task"`
	// Specifies batch transform jobs that SageMaker runs to validate your model package.
	ValidationSpecification interface{} `field:"optional" json:"validationSpecification" yaml:"validationSpecification"`
}

Properties for defining a `CfnModelPackage`.

Example:

// 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"

var modelInput interface{}

cfnModelPackageProps := &CfnModelPackageProps{
	AdditionalInferenceSpecificationDefinition: &AdditionalInferenceSpecificationDefinitionProperty{
		Containers: []interface{}{
			&ModelPackageContainerDefinitionProperty{
				Image: jsii.String("image"),

				// the properties below are optional
				ContainerHostname: jsii.String("containerHostname"),
				Environment: map[string]*string{
					"environmentKey": jsii.String("environment"),
				},
				Framework: jsii.String("framework"),
				FrameworkVersion: jsii.String("frameworkVersion"),
				ImageDigest: jsii.String("imageDigest"),
				ModelDataUrl: jsii.String("modelDataUrl"),
				ModelInput: modelInput,
				NearestModelName: jsii.String("nearestModelName"),
				ProductId: jsii.String("productId"),
			},
		},
		Name: jsii.String("name"),

		// the properties below are optional
		Description: jsii.String("description"),
		SupportedContentTypes: []*string{
			jsii.String("supportedContentTypes"),
		},
		SupportedRealtimeInferenceInstanceTypes: []*string{
			jsii.String("supportedRealtimeInferenceInstanceTypes"),
		},
		SupportedResponseMimeTypes: []*string{
			jsii.String("supportedResponseMimeTypes"),
		},
		SupportedTransformInstanceTypes: []*string{
			jsii.String("supportedTransformInstanceTypes"),
		},
	},
	AdditionalInferenceSpecifications: []interface{}{
		&AdditionalInferenceSpecificationDefinitionProperty{
			Containers: []interface{}{
				&ModelPackageContainerDefinitionProperty{
					Image: jsii.String("image"),

					// the properties below are optional
					ContainerHostname: jsii.String("containerHostname"),
					Environment: map[string]*string{
						"environmentKey": jsii.String("environment"),
					},
					Framework: jsii.String("framework"),
					FrameworkVersion: jsii.String("frameworkVersion"),
					ImageDigest: jsii.String("imageDigest"),
					ModelDataUrl: jsii.String("modelDataUrl"),
					ModelInput: modelInput,
					NearestModelName: jsii.String("nearestModelName"),
					ProductId: jsii.String("productId"),
				},
			},
			Name: jsii.String("name"),

			// the properties below are optional
			Description: jsii.String("description"),
			SupportedContentTypes: []*string{
				jsii.String("supportedContentTypes"),
			},
			SupportedRealtimeInferenceInstanceTypes: []*string{
				jsii.String("supportedRealtimeInferenceInstanceTypes"),
			},
			SupportedResponseMimeTypes: []*string{
				jsii.String("supportedResponseMimeTypes"),
			},
			SupportedTransformInstanceTypes: []*string{
				jsii.String("supportedTransformInstanceTypes"),
			},
		},
	},
	AdditionalInferenceSpecificationsToAdd: []interface{}{
		&AdditionalInferenceSpecificationDefinitionProperty{
			Containers: []interface{}{
				&ModelPackageContainerDefinitionProperty{
					Image: jsii.String("image"),

					// the properties below are optional
					ContainerHostname: jsii.String("containerHostname"),
					Environment: map[string]*string{
						"environmentKey": jsii.String("environment"),
					},
					Framework: jsii.String("framework"),
					FrameworkVersion: jsii.String("frameworkVersion"),
					ImageDigest: jsii.String("imageDigest"),
					ModelDataUrl: jsii.String("modelDataUrl"),
					ModelInput: modelInput,
					NearestModelName: jsii.String("nearestModelName"),
					ProductId: jsii.String("productId"),
				},
			},
			Name: jsii.String("name"),

			// the properties below are optional
			Description: jsii.String("description"),
			SupportedContentTypes: []*string{
				jsii.String("supportedContentTypes"),
			},
			SupportedRealtimeInferenceInstanceTypes: []*string{
				jsii.String("supportedRealtimeInferenceInstanceTypes"),
			},
			SupportedResponseMimeTypes: []*string{
				jsii.String("supportedResponseMimeTypes"),
			},
			SupportedTransformInstanceTypes: []*string{
				jsii.String("supportedTransformInstanceTypes"),
			},
		},
	},
	ApprovalDescription: jsii.String("approvalDescription"),
	CertifyForMarketplace: jsii.Boolean(false),
	ClientToken: jsii.String("clientToken"),
	CreatedBy: &UserContextProperty{
		DomainId: jsii.String("domainId"),
		UserProfileArn: jsii.String("userProfileArn"),
		UserProfileName: jsii.String("userProfileName"),
	},
	CustomerMetadataProperties: map[string]*string{
		"customerMetadataPropertiesKey": jsii.String("customerMetadataProperties"),
	},
	Domain: jsii.String("domain"),
	DriftCheckBaselines: &DriftCheckBaselinesProperty{
		Bias: &DriftCheckBiasProperty{
			ConfigFile: &FileSourceProperty{
				S3Uri: jsii.String("s3Uri"),

				// the properties below are optional
				ContentDigest: jsii.String("contentDigest"),
				ContentType: jsii.String("contentType"),
			},
			PostTrainingConstraints: &MetricsSourceProperty{
				ContentType: jsii.String("contentType"),
				S3Uri: jsii.String("s3Uri"),

				// the properties below are optional
				ContentDigest: jsii.String("contentDigest"),
			},
			PreTrainingConstraints: &MetricsSourceProperty{
				ContentType: jsii.String("contentType"),
				S3Uri: jsii.String("s3Uri"),

				// the properties below are optional
				ContentDigest: jsii.String("contentDigest"),
			},
		},
		Explainability: &DriftCheckExplainabilityProperty{
			ConfigFile: &FileSourceProperty{
				S3Uri: jsii.String("s3Uri"),

				// the properties below are optional
				ContentDigest: jsii.String("contentDigest"),
				ContentType: jsii.String("contentType"),
			},
			Constraints: &MetricsSourceProperty{
				ContentType: jsii.String("contentType"),
				S3Uri: jsii.String("s3Uri"),

				// the properties below are optional
				ContentDigest: jsii.String("contentDigest"),
			},
		},
		ModelDataQuality: &DriftCheckModelDataQualityProperty{
			Constraints: &MetricsSourceProperty{
				ContentType: jsii.String("contentType"),
				S3Uri: jsii.String("s3Uri"),

				// the properties below are optional
				ContentDigest: jsii.String("contentDigest"),
			},
			Statistics: &MetricsSourceProperty{
				ContentType: jsii.String("contentType"),
				S3Uri: jsii.String("s3Uri"),

				// the properties below are optional
				ContentDigest: jsii.String("contentDigest"),
			},
		},
		ModelQuality: &DriftCheckModelQualityProperty{
			Constraints: &MetricsSourceProperty{
				ContentType: jsii.String("contentType"),
				S3Uri: jsii.String("s3Uri"),

				// the properties below are optional
				ContentDigest: jsii.String("contentDigest"),
			},
			Statistics: &MetricsSourceProperty{
				ContentType: jsii.String("contentType"),
				S3Uri: jsii.String("s3Uri"),

				// the properties below are optional
				ContentDigest: jsii.String("contentDigest"),
			},
		},
	},
	Environment: map[string]*string{
		"environmentKey": jsii.String("environment"),
	},
	InferenceSpecification: &InferenceSpecificationProperty{
		Containers: []interface{}{
			&ModelPackageContainerDefinitionProperty{
				Image: jsii.String("image"),

				// the properties below are optional
				ContainerHostname: jsii.String("containerHostname"),
				Environment: map[string]*string{
					"environmentKey": jsii.String("environment"),
				},
				Framework: jsii.String("framework"),
				FrameworkVersion: jsii.String("frameworkVersion"),
				ImageDigest: jsii.String("imageDigest"),
				ModelDataUrl: jsii.String("modelDataUrl"),
				ModelInput: modelInput,
				NearestModelName: jsii.String("nearestModelName"),
				ProductId: jsii.String("productId"),
			},
		},
		SupportedContentTypes: []*string{
			jsii.String("supportedContentTypes"),
		},
		SupportedResponseMimeTypes: []*string{
			jsii.String("supportedResponseMimeTypes"),
		},

		// the properties below are optional
		SupportedRealtimeInferenceInstanceTypes: []*string{
			jsii.String("supportedRealtimeInferenceInstanceTypes"),
		},
		SupportedTransformInstanceTypes: []*string{
			jsii.String("supportedTransformInstanceTypes"),
		},
	},
	LastModifiedBy: &UserContextProperty{
		DomainId: jsii.String("domainId"),
		UserProfileArn: jsii.String("userProfileArn"),
		UserProfileName: jsii.String("userProfileName"),
	},
	LastModifiedTime: jsii.String("lastModifiedTime"),
	MetadataProperties: &MetadataPropertiesProperty{
		CommitId: jsii.String("commitId"),
		GeneratedBy: jsii.String("generatedBy"),
		ProjectId: jsii.String("projectId"),
		Repository: jsii.String("repository"),
	},
	ModelApprovalStatus: jsii.String("modelApprovalStatus"),
	ModelMetrics: &ModelMetricsProperty{
		Bias: &BiasProperty{
			PostTrainingReport: &MetricsSourceProperty{
				ContentType: jsii.String("contentType"),
				S3Uri: jsii.String("s3Uri"),

				// the properties below are optional
				ContentDigest: jsii.String("contentDigest"),
			},
			PreTrainingReport: &MetricsSourceProperty{
				ContentType: jsii.String("contentType"),
				S3Uri: jsii.String("s3Uri"),

				// the properties below are optional
				ContentDigest: jsii.String("contentDigest"),
			},
			Report: &MetricsSourceProperty{
				ContentType: jsii.String("contentType"),
				S3Uri: jsii.String("s3Uri"),

				// the properties below are optional
				ContentDigest: jsii.String("contentDigest"),
			},
		},
		Explainability: &ExplainabilityProperty{
			Report: &MetricsSourceProperty{
				ContentType: jsii.String("contentType"),
				S3Uri: jsii.String("s3Uri"),

				// the properties below are optional
				ContentDigest: jsii.String("contentDigest"),
			},
		},
		ModelDataQuality: &ModelDataQualityProperty{
			Constraints: &MetricsSourceProperty{
				ContentType: jsii.String("contentType"),
				S3Uri: jsii.String("s3Uri"),

				// the properties below are optional
				ContentDigest: jsii.String("contentDigest"),
			},
			Statistics: &MetricsSourceProperty{
				ContentType: jsii.String("contentType"),
				S3Uri: jsii.String("s3Uri"),

				// the properties below are optional
				ContentDigest: jsii.String("contentDigest"),
			},
		},
		ModelQuality: &ModelQualityProperty{
			Constraints: &MetricsSourceProperty{
				ContentType: jsii.String("contentType"),
				S3Uri: jsii.String("s3Uri"),

				// the properties below are optional
				ContentDigest: jsii.String("contentDigest"),
			},
			Statistics: &MetricsSourceProperty{
				ContentType: jsii.String("contentType"),
				S3Uri: jsii.String("s3Uri"),

				// the properties below are optional
				ContentDigest: jsii.String("contentDigest"),
			},
		},
	},
	ModelPackageDescription: jsii.String("modelPackageDescription"),
	ModelPackageGroupName: jsii.String("modelPackageGroupName"),
	ModelPackageName: jsii.String("modelPackageName"),
	ModelPackageStatusDetails: &ModelPackageStatusDetailsProperty{
		ValidationStatuses: []interface{}{
			&ModelPackageStatusItemProperty{
				Name: jsii.String("name"),
				Status: jsii.String("status"),

				// the properties below are optional
				FailureReason: jsii.String("failureReason"),
			},
		},

		// the properties below are optional
		ImageScanStatuses: []interface{}{
			&ModelPackageStatusItemProperty{
				Name: jsii.String("name"),
				Status: jsii.String("status"),

				// the properties below are optional
				FailureReason: jsii.String("failureReason"),
			},
		},
	},
	ModelPackageStatusItem: &ModelPackageStatusItemProperty{
		Name: jsii.String("name"),
		Status: jsii.String("status"),

		// the properties below are optional
		FailureReason: jsii.String("failureReason"),
	},
	ModelPackageVersion: jsii.Number(123),
	SamplePayloadUrl: jsii.String("samplePayloadUrl"),
	SourceAlgorithmSpecification: &SourceAlgorithmSpecificationProperty{
		SourceAlgorithms: []interface{}{
			&SourceAlgorithmProperty{
				AlgorithmName: jsii.String("algorithmName"),

				// the properties below are optional
				ModelDataUrl: jsii.String("modelDataUrl"),
			},
		},
	},
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
	Task: jsii.String("task"),
	ValidationSpecification: &ValidationSpecificationProperty{
		ValidationProfiles: []interface{}{
			&ValidationProfileProperty{
				ProfileName: jsii.String("profileName"),
				TransformJobDefinition: &TransformJobDefinitionProperty{
					TransformInput: &TransformInputProperty{
						DataSource: &DataSourceProperty{
							S3DataSource: &S3DataSourceProperty{
								S3DataType: jsii.String("s3DataType"),
								S3Uri: jsii.String("s3Uri"),
							},
						},

						// the properties below are optional
						CompressionType: jsii.String("compressionType"),
						ContentType: jsii.String("contentType"),
						SplitType: jsii.String("splitType"),
					},
					TransformOutput: &TransformOutputProperty{
						S3OutputPath: jsii.String("s3OutputPath"),

						// the properties below are optional
						Accept: jsii.String("accept"),
						AssembleWith: jsii.String("assembleWith"),
						KmsKeyId: jsii.String("kmsKeyId"),
					},
					TransformResources: &TransformResourcesProperty{
						InstanceCount: jsii.Number(123),
						InstanceType: jsii.String("instanceType"),

						// the properties below are optional
						VolumeKmsKeyId: jsii.String("volumeKmsKeyId"),
					},

					// the properties below are optional
					BatchStrategy: jsii.String("batchStrategy"),
					Environment: map[string]*string{
						"environmentKey": jsii.String("environment"),
					},
					MaxConcurrentTransforms: jsii.Number(123),
					MaxPayloadInMb: jsii.Number(123),
				},
			},
		},
		ValidationRole: jsii.String("validationRole"),
	},
}

type CfnModelPackage_AdditionalInferenceSpecificationDefinitionProperty added in v2.45.0

type CfnModelPackage_AdditionalInferenceSpecificationDefinitionProperty struct {
	// The Amazon ECR registry path of the Docker image that contains the inference code.
	Containers interface{} `field:"required" json:"containers" yaml:"containers"`
	// A unique name to identify the additional inference specification.
	//
	// The name must be unique within the list of your additional inference specifications for a particular model package.
	Name *string `field:"required" json:"name" yaml:"name"`
	// A description of the additional Inference specification.
	Description *string `field:"optional" json:"description" yaml:"description"`
	// The supported MIME types for the input data.
	SupportedContentTypes *[]*string `field:"optional" json:"supportedContentTypes" yaml:"supportedContentTypes"`
	// A list of the instance types that are used to generate inferences in real-time.
	SupportedRealtimeInferenceInstanceTypes *[]*string `field:"optional" json:"supportedRealtimeInferenceInstanceTypes" yaml:"supportedRealtimeInferenceInstanceTypes"`
	// The supported MIME types for the output data.
	SupportedResponseMimeTypes *[]*string `field:"optional" json:"supportedResponseMimeTypes" yaml:"supportedResponseMimeTypes"`
	// A list of the instance types on which a transformation job can be run or on which an endpoint can be deployed.
	SupportedTransformInstanceTypes *[]*string `field:"optional" json:"supportedTransformInstanceTypes" yaml:"supportedTransformInstanceTypes"`
}

A structure of additional Inference Specification.

Additional Inference Specification specifies details about inference jobs that can be run with models based on this model package.

Example:

// 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"

var modelInput interface{}

additionalInferenceSpecificationDefinitionProperty := &AdditionalInferenceSpecificationDefinitionProperty{
	Containers: []interface{}{
		&ModelPackageContainerDefinitionProperty{
			Image: jsii.String("image"),

			// the properties below are optional
			ContainerHostname: jsii.String("containerHostname"),
			Environment: map[string]*string{
				"environmentKey": jsii.String("environment"),
			},
			Framework: jsii.String("framework"),
			FrameworkVersion: jsii.String("frameworkVersion"),
			ImageDigest: jsii.String("imageDigest"),
			ModelDataUrl: jsii.String("modelDataUrl"),
			ModelInput: modelInput,
			NearestModelName: jsii.String("nearestModelName"),
			ProductId: jsii.String("productId"),
		},
	},
	Name: jsii.String("name"),

	// the properties below are optional
	Description: jsii.String("description"),
	SupportedContentTypes: []*string{
		jsii.String("supportedContentTypes"),
	},
	SupportedRealtimeInferenceInstanceTypes: []*string{
		jsii.String("supportedRealtimeInferenceInstanceTypes"),
	},
	SupportedResponseMimeTypes: []*string{
		jsii.String("supportedResponseMimeTypes"),
	},
	SupportedTransformInstanceTypes: []*string{
		jsii.String("supportedTransformInstanceTypes"),
	},
}

type CfnModelPackage_BiasProperty added in v2.45.0

type CfnModelPackage_BiasProperty struct {
	// The post-training bias report for a model.
	PostTrainingReport interface{} `field:"optional" json:"postTrainingReport" yaml:"postTrainingReport"`
	// The pre-training bias report for a model.
	PreTrainingReport interface{} `field:"optional" json:"preTrainingReport" yaml:"preTrainingReport"`
	// The bias report for a model.
	Report interface{} `field:"optional" json:"report" yaml:"report"`
}

Contains bias metrics for a model.

Example:

// 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"

biasProperty := &BiasProperty{
	PostTrainingReport: &MetricsSourceProperty{
		ContentType: jsii.String("contentType"),
		S3Uri: jsii.String("s3Uri"),

		// the properties below are optional
		ContentDigest: jsii.String("contentDigest"),
	},
	PreTrainingReport: &MetricsSourceProperty{
		ContentType: jsii.String("contentType"),
		S3Uri: jsii.String("s3Uri"),

		// the properties below are optional
		ContentDigest: jsii.String("contentDigest"),
	},
	Report: &MetricsSourceProperty{
		ContentType: jsii.String("contentType"),
		S3Uri: jsii.String("s3Uri"),

		// the properties below are optional
		ContentDigest: jsii.String("contentDigest"),
	},
}

type CfnModelPackage_DataSourceProperty added in v2.45.0

type CfnModelPackage_DataSourceProperty struct {
	// The S3 location of the data source that is associated with a channel.
	S3DataSource interface{} `field:"required" json:"s3DataSource" yaml:"s3DataSource"`
}

Describes the location of the channel data.

Example:

// 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"

dataSourceProperty := &DataSourceProperty{
	S3DataSource: &S3DataSourceProperty{
		S3DataType: jsii.String("s3DataType"),
		S3Uri: jsii.String("s3Uri"),
	},
}

type CfnModelPackage_DriftCheckBaselinesProperty added in v2.45.0

type CfnModelPackage_DriftCheckBaselinesProperty struct {
	// Represents the drift check bias baselines that can be used when the model monitor is set using the model package.
	Bias interface{} `field:"optional" json:"bias" yaml:"bias"`
	// Represents the drift check explainability baselines that can be used when the model monitor is set using the model package.
	Explainability interface{} `field:"optional" json:"explainability" yaml:"explainability"`
	// Represents the drift check model data quality baselines that can be used when the model monitor is set using the model package.
	ModelDataQuality interface{} `field:"optional" json:"modelDataQuality" yaml:"modelDataQuality"`
	// Represents the drift check model quality baselines that can be used when the model monitor is set using the model package.
	ModelQuality interface{} `field:"optional" json:"modelQuality" yaml:"modelQuality"`
}

Represents the drift check baselines that can be used when the model monitor is set using the model package.

Example:

// 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"

driftCheckBaselinesProperty := &DriftCheckBaselinesProperty{
	Bias: &DriftCheckBiasProperty{
		ConfigFile: &FileSourceProperty{
			S3Uri: jsii.String("s3Uri"),

			// the properties below are optional
			ContentDigest: jsii.String("contentDigest"),
			ContentType: jsii.String("contentType"),
		},
		PostTrainingConstraints: &MetricsSourceProperty{
			ContentType: jsii.String("contentType"),
			S3Uri: jsii.String("s3Uri"),

			// the properties below are optional
			ContentDigest: jsii.String("contentDigest"),
		},
		PreTrainingConstraints: &MetricsSourceProperty{
			ContentType: jsii.String("contentType"),
			S3Uri: jsii.String("s3Uri"),

			// the properties below are optional
			ContentDigest: jsii.String("contentDigest"),
		},
	},
	Explainability: &DriftCheckExplainabilityProperty{
		ConfigFile: &FileSourceProperty{
			S3Uri: jsii.String("s3Uri"),

			// the properties below are optional
			ContentDigest: jsii.String("contentDigest"),
			ContentType: jsii.String("contentType"),
		},
		Constraints: &MetricsSourceProperty{
			ContentType: jsii.String("contentType"),
			S3Uri: jsii.String("s3Uri"),

			// the properties below are optional
			ContentDigest: jsii.String("contentDigest"),
		},
	},
	ModelDataQuality: &DriftCheckModelDataQualityProperty{
		Constraints: &MetricsSourceProperty{
			ContentType: jsii.String("contentType"),
			S3Uri: jsii.String("s3Uri"),

			// the properties below are optional
			ContentDigest: jsii.String("contentDigest"),
		},
		Statistics: &MetricsSourceProperty{
			ContentType: jsii.String("contentType"),
			S3Uri: jsii.String("s3Uri"),

			// the properties below are optional
			ContentDigest: jsii.String("contentDigest"),
		},
	},
	ModelQuality: &DriftCheckModelQualityProperty{
		Constraints: &MetricsSourceProperty{
			ContentType: jsii.String("contentType"),
			S3Uri: jsii.String("s3Uri"),

			// the properties below are optional
			ContentDigest: jsii.String("contentDigest"),
		},
		Statistics: &MetricsSourceProperty{
			ContentType: jsii.String("contentType"),
			S3Uri: jsii.String("s3Uri"),

			// the properties below are optional
			ContentDigest: jsii.String("contentDigest"),
		},
	},
}

type CfnModelPackage_DriftCheckBiasProperty added in v2.45.0

type CfnModelPackage_DriftCheckBiasProperty struct {
	// The bias config file for a model.
	ConfigFile interface{} `field:"optional" json:"configFile" yaml:"configFile"`
	// The post-training constraints.
	PostTrainingConstraints interface{} `field:"optional" json:"postTrainingConstraints" yaml:"postTrainingConstraints"`
	// The pre-training constraints.
	PreTrainingConstraints interface{} `field:"optional" json:"preTrainingConstraints" yaml:"preTrainingConstraints"`
}

Represents the drift check bias baselines that can be used when the model monitor is set using the model package.

Example:

// 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"

driftCheckBiasProperty := &DriftCheckBiasProperty{
	ConfigFile: &FileSourceProperty{
		S3Uri: jsii.String("s3Uri"),

		// the properties below are optional
		ContentDigest: jsii.String("contentDigest"),
		ContentType: jsii.String("contentType"),
	},
	PostTrainingConstraints: &MetricsSourceProperty{
		ContentType: jsii.String("contentType"),
		S3Uri: jsii.String("s3Uri"),

		// the properties below are optional
		ContentDigest: jsii.String("contentDigest"),
	},
	PreTrainingConstraints: &MetricsSourceProperty{
		ContentType: jsii.String("contentType"),
		S3Uri: jsii.String("s3Uri"),

		// the properties below are optional
		ContentDigest: jsii.String("contentDigest"),
	},
}

type CfnModelPackage_DriftCheckExplainabilityProperty added in v2.45.0

type CfnModelPackage_DriftCheckExplainabilityProperty struct {
	// The explainability config file for the model.
	ConfigFile interface{} `field:"optional" json:"configFile" yaml:"configFile"`
	// The drift check explainability constraints.
	Constraints interface{} `field:"optional" json:"constraints" yaml:"constraints"`
}

Represents the drift check explainability baselines that can be used when the model monitor is set using the model package.

Example:

// 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"

driftCheckExplainabilityProperty := &DriftCheckExplainabilityProperty{
	ConfigFile: &FileSourceProperty{
		S3Uri: jsii.String("s3Uri"),

		// the properties below are optional
		ContentDigest: jsii.String("contentDigest"),
		ContentType: jsii.String("contentType"),
	},
	Constraints: &MetricsSourceProperty{
		ContentType: jsii.String("contentType"),
		S3Uri: jsii.String("s3Uri"),

		// the properties below are optional
		ContentDigest: jsii.String("contentDigest"),
	},
}

type CfnModelPackage_DriftCheckModelDataQualityProperty added in v2.45.0

type CfnModelPackage_DriftCheckModelDataQualityProperty struct {
	// The drift check model data quality constraints.
	Constraints interface{} `field:"optional" json:"constraints" yaml:"constraints"`
	// The drift check model data quality statistics.
	Statistics interface{} `field:"optional" json:"statistics" yaml:"statistics"`
}

Represents the drift check data quality baselines that can be used when the model monitor is set using the model package.

Example:

// 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"

driftCheckModelDataQualityProperty := &DriftCheckModelDataQualityProperty{
	Constraints: &MetricsSourceProperty{
		ContentType: jsii.String("contentType"),
		S3Uri: jsii.String("s3Uri"),

		// the properties below are optional
		ContentDigest: jsii.String("contentDigest"),
	},
	Statistics: &MetricsSourceProperty{
		ContentType: jsii.String("contentType"),
		S3Uri: jsii.String("s3Uri"),

		// the properties below are optional
		ContentDigest: jsii.String("contentDigest"),
	},
}

type CfnModelPackage_DriftCheckModelQualityProperty added in v2.45.0

type CfnModelPackage_DriftCheckModelQualityProperty struct {
	// The drift check model quality constraints.
	Constraints interface{} `field:"optional" json:"constraints" yaml:"constraints"`
	// The drift check model quality statistics.
	Statistics interface{} `field:"optional" json:"statistics" yaml:"statistics"`
}

Represents the drift check model quality baselines that can be used when the model monitor is set using the model package.

Example:

// 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"

driftCheckModelQualityProperty := &DriftCheckModelQualityProperty{
	Constraints: &MetricsSourceProperty{
		ContentType: jsii.String("contentType"),
		S3Uri: jsii.String("s3Uri"),

		// the properties below are optional
		ContentDigest: jsii.String("contentDigest"),
	},
	Statistics: &MetricsSourceProperty{
		ContentType: jsii.String("contentType"),
		S3Uri: jsii.String("s3Uri"),

		// the properties below are optional
		ContentDigest: jsii.String("contentDigest"),
	},
}

type CfnModelPackage_ExplainabilityProperty added in v2.45.0

type CfnModelPackage_ExplainabilityProperty struct {
	// The explainability report for a model.
	Report interface{} `field:"optional" json:"report" yaml:"report"`
}

Contains explainability metrics for a model.

Example:

// 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"

explainabilityProperty := &ExplainabilityProperty{
	Report: &MetricsSourceProperty{
		ContentType: jsii.String("contentType"),
		S3Uri: jsii.String("s3Uri"),

		// the properties below are optional
		ContentDigest: jsii.String("contentDigest"),
	},
}

type CfnModelPackage_FileSourceProperty added in v2.45.0

type CfnModelPackage_FileSourceProperty struct {
	// The Amazon S3 URI for the file source.
	S3Uri *string `field:"required" json:"s3Uri" yaml:"s3Uri"`
	// The digest of the file source.
	ContentDigest *string `field:"optional" json:"contentDigest" yaml:"contentDigest"`
	// The type of content stored in the file source.
	ContentType *string `field:"optional" json:"contentType" yaml:"contentType"`
}

Contains details regarding the file source.

Example:

// 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"

fileSourceProperty := &FileSourceProperty{
	S3Uri: jsii.String("s3Uri"),

	// the properties below are optional
	ContentDigest: jsii.String("contentDigest"),
	ContentType: jsii.String("contentType"),
}

type CfnModelPackage_InferenceSpecificationProperty added in v2.45.0

type CfnModelPackage_InferenceSpecificationProperty struct {
	// The Amazon ECR registry path of the Docker image that contains the inference code.
	Containers interface{} `field:"required" json:"containers" yaml:"containers"`
	// The supported MIME types for the input data.
	SupportedContentTypes *[]*string `field:"required" json:"supportedContentTypes" yaml:"supportedContentTypes"`
	// The supported MIME types for the output data.
	SupportedResponseMimeTypes *[]*string `field:"required" json:"supportedResponseMimeTypes" yaml:"supportedResponseMimeTypes"`
	// A list of the instance types that are used to generate inferences in real-time.
	//
	// This parameter is required for unversioned models, and optional for versioned models.
	SupportedRealtimeInferenceInstanceTypes *[]*string `field:"optional" json:"supportedRealtimeInferenceInstanceTypes" yaml:"supportedRealtimeInferenceInstanceTypes"`
	// A list of the instance types on which a transformation job can be run or on which an endpoint can be deployed.
	//
	// This parameter is required for unversioned models, and optional for versioned models.
	SupportedTransformInstanceTypes *[]*string `field:"optional" json:"supportedTransformInstanceTypes" yaml:"supportedTransformInstanceTypes"`
}

Defines how to perform inference generation after a training job is run.

Example:

// 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"

var modelInput interface{}

inferenceSpecificationProperty := &InferenceSpecificationProperty{
	Containers: []interface{}{
		&ModelPackageContainerDefinitionProperty{
			Image: jsii.String("image"),

			// the properties below are optional
			ContainerHostname: jsii.String("containerHostname"),
			Environment: map[string]*string{
				"environmentKey": jsii.String("environment"),
			},
			Framework: jsii.String("framework"),
			FrameworkVersion: jsii.String("frameworkVersion"),
			ImageDigest: jsii.String("imageDigest"),
			ModelDataUrl: jsii.String("modelDataUrl"),
			ModelInput: modelInput,
			NearestModelName: jsii.String("nearestModelName"),
			ProductId: jsii.String("productId"),
		},
	},
	SupportedContentTypes: []*string{
		jsii.String("supportedContentTypes"),
	},
	SupportedResponseMimeTypes: []*string{
		jsii.String("supportedResponseMimeTypes"),
	},

	// the properties below are optional
	SupportedRealtimeInferenceInstanceTypes: []*string{
		jsii.String("supportedRealtimeInferenceInstanceTypes"),
	},
	SupportedTransformInstanceTypes: []*string{
		jsii.String("supportedTransformInstanceTypes"),
	},
}

type CfnModelPackage_MetadataPropertiesProperty added in v2.45.0

type CfnModelPackage_MetadataPropertiesProperty struct {
	// The commit ID.
	CommitId *string `field:"optional" json:"commitId" yaml:"commitId"`
	// The entity this entity was generated by.
	GeneratedBy *string `field:"optional" json:"generatedBy" yaml:"generatedBy"`
	// The project ID.
	ProjectId *string `field:"optional" json:"projectId" yaml:"projectId"`
	// The repository.
	Repository *string `field:"optional" json:"repository" yaml:"repository"`
}

Metadata properties of the tracking entity, trial, or trial component.

Example:

// 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"

metadataPropertiesProperty := &MetadataPropertiesProperty{
	CommitId: jsii.String("commitId"),
	GeneratedBy: jsii.String("generatedBy"),
	ProjectId: jsii.String("projectId"),
	Repository: jsii.String("repository"),
}

type CfnModelPackage_MetricsSourceProperty added in v2.45.0

type CfnModelPackage_MetricsSourceProperty struct {
	// The metric source content type.
	ContentType *string `field:"required" json:"contentType" yaml:"contentType"`
	// The S3 URI for the metrics source.
	S3Uri *string `field:"required" json:"s3Uri" yaml:"s3Uri"`
	// The hash key used for the metrics source.
	ContentDigest *string `field:"optional" json:"contentDigest" yaml:"contentDigest"`
}

Details about the metrics source.

Example:

// 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"

metricsSourceProperty := &MetricsSourceProperty{
	ContentType: jsii.String("contentType"),
	S3Uri: jsii.String("s3Uri"),

	// the properties below are optional
	ContentDigest: jsii.String("contentDigest"),
}

type CfnModelPackage_ModelDataQualityProperty added in v2.45.0

type CfnModelPackage_ModelDataQualityProperty struct {
	// Data quality constraints for a model.
	Constraints interface{} `field:"optional" json:"constraints" yaml:"constraints"`
	// Data quality statistics for a model.
	Statistics interface{} `field:"optional" json:"statistics" yaml:"statistics"`
}

Data quality constraints and statistics for a model.

Example:

// 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"

modelDataQualityProperty := &ModelDataQualityProperty{
	Constraints: &MetricsSourceProperty{
		ContentType: jsii.String("contentType"),
		S3Uri: jsii.String("s3Uri"),

		// the properties below are optional
		ContentDigest: jsii.String("contentDigest"),
	},
	Statistics: &MetricsSourceProperty{
		ContentType: jsii.String("contentType"),
		S3Uri: jsii.String("s3Uri"),

		// the properties below are optional
		ContentDigest: jsii.String("contentDigest"),
	},
}

type CfnModelPackage_ModelInputProperty added in v2.55.0

type CfnModelPackage_ModelInputProperty struct {
	// The input configuration object for the model.
	DataInputConfig *string `field:"required" json:"dataInputConfig" yaml:"dataInputConfig"`
}

Input object for the model.

Example:

// 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"

modelInputProperty := &ModelInputProperty{
	DataInputConfig: jsii.String("dataInputConfig"),
}

type CfnModelPackage_ModelMetricsProperty added in v2.45.0

type CfnModelPackage_ModelMetricsProperty struct {
	// Metrics that measure bais in a model.
	Bias interface{} `field:"optional" json:"bias" yaml:"bias"`
	// Metrics that help explain a model.
	Explainability interface{} `field:"optional" json:"explainability" yaml:"explainability"`
	// Metrics that measure the quality of the input data for a model.
	ModelDataQuality interface{} `field:"optional" json:"modelDataQuality" yaml:"modelDataQuality"`
	// Metrics that measure the quality of a model.
	ModelQuality interface{} `field:"optional" json:"modelQuality" yaml:"modelQuality"`
}

Contains metrics captured from a model.

Example:

// 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"

modelMetricsProperty := &ModelMetricsProperty{
	Bias: &BiasProperty{
		PostTrainingReport: &MetricsSourceProperty{
			ContentType: jsii.String("contentType"),
			S3Uri: jsii.String("s3Uri"),

			// the properties below are optional
			ContentDigest: jsii.String("contentDigest"),
		},
		PreTrainingReport: &MetricsSourceProperty{
			ContentType: jsii.String("contentType"),
			S3Uri: jsii.String("s3Uri"),

			// the properties below are optional
			ContentDigest: jsii.String("contentDigest"),
		},
		Report: &MetricsSourceProperty{
			ContentType: jsii.String("contentType"),
			S3Uri: jsii.String("s3Uri"),

			// the properties below are optional
			ContentDigest: jsii.String("contentDigest"),
		},
	},
	Explainability: &ExplainabilityProperty{
		Report: &MetricsSourceProperty{
			ContentType: jsii.String("contentType"),
			S3Uri: jsii.String("s3Uri"),

			// the properties below are optional
			ContentDigest: jsii.String("contentDigest"),
		},
	},
	ModelDataQuality: &ModelDataQualityProperty{
		Constraints: &MetricsSourceProperty{
			ContentType: jsii.String("contentType"),
			S3Uri: jsii.String("s3Uri"),

			// the properties below are optional
			ContentDigest: jsii.String("contentDigest"),
		},
		Statistics: &MetricsSourceProperty{
			ContentType: jsii.String("contentType"),
			S3Uri: jsii.String("s3Uri"),

			// the properties below are optional
			ContentDigest: jsii.String("contentDigest"),
		},
	},
	ModelQuality: &ModelQualityProperty{
		Constraints: &MetricsSourceProperty{
			ContentType: jsii.String("contentType"),
			S3Uri: jsii.String("s3Uri"),

			// the properties below are optional
			ContentDigest: jsii.String("contentDigest"),
		},
		Statistics: &MetricsSourceProperty{
			ContentType: jsii.String("contentType"),
			S3Uri: jsii.String("s3Uri"),

			// the properties below are optional
			ContentDigest: jsii.String("contentDigest"),
		},
	},
}

type CfnModelPackage_ModelPackageContainerDefinitionProperty added in v2.45.0

type CfnModelPackage_ModelPackageContainerDefinitionProperty struct {
	// The Amazon EC2 Container Registry (Amazon ECR) path where inference code is stored.
	//
	// If you are using your own custom algorithm instead of an algorithm provided by SageMaker, the inference code must meet SageMaker requirements. SageMaker supports both `registry/repository[:tag]` and `registry/repository[@digest]` image path formats. For more information, see [Using Your Own Algorithms with Amazon SageMaker](https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms.html) .
	Image *string `field:"required" json:"image" yaml:"image"`
	// The DNS host name for the Docker container.
	ContainerHostname *string `field:"optional" json:"containerHostname" yaml:"containerHostname"`
	// The environment variables to set in the Docker container.
	//
	// Each key and value in the `Environment` string to string map can have length of up to 1024. We support up to 16 entries in the map.
	Environment interface{} `field:"optional" json:"environment" yaml:"environment"`
	// The machine learning framework of the model package container image.
	Framework *string `field:"optional" json:"framework" yaml:"framework"`
	// The framework version of the Model Package Container Image.
	FrameworkVersion *string `field:"optional" json:"frameworkVersion" yaml:"frameworkVersion"`
	// An MD5 hash of the training algorithm that identifies the Docker image used for training.
	ImageDigest *string `field:"optional" json:"imageDigest" yaml:"imageDigest"`
	// The Amazon S3 path where the model artifacts, which result from model training, are stored.
	//
	// This path must point to a single `gzip` compressed tar archive ( `.tar.gz` suffix).
	//
	// > The model artifacts must be in an S3 bucket that is in the same region as the model package.
	ModelDataUrl *string `field:"optional" json:"modelDataUrl" yaml:"modelDataUrl"`
	// A structure with Model Input details.
	ModelInput interface{} `field:"optional" json:"modelInput" yaml:"modelInput"`
	// The name of a pre-trained machine learning benchmarked by Amazon SageMaker Inference Recommender model that matches your model.
	//
	// You can find a list of benchmarked models by calling `ListModelMetadata` .
	NearestModelName *string `field:"optional" json:"nearestModelName" yaml:"nearestModelName"`
	// The AWS Marketplace product ID of the model package.
	ProductId *string `field:"optional" json:"productId" yaml:"productId"`
}

Describes the Docker container for the model package.

Example:

// 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"

var modelInput interface{}

modelPackageContainerDefinitionProperty := &ModelPackageContainerDefinitionProperty{
	Image: jsii.String("image"),

	// the properties below are optional
	ContainerHostname: jsii.String("containerHostname"),
	Environment: map[string]*string{
		"environmentKey": jsii.String("environment"),
	},
	Framework: jsii.String("framework"),
	FrameworkVersion: jsii.String("frameworkVersion"),
	ImageDigest: jsii.String("imageDigest"),
	ModelDataUrl: jsii.String("modelDataUrl"),
	ModelInput: modelInput,
	NearestModelName: jsii.String("nearestModelName"),
	ProductId: jsii.String("productId"),
}

type CfnModelPackage_ModelPackageStatusDetailsProperty added in v2.45.0

type CfnModelPackage_ModelPackageStatusDetailsProperty struct {
	// The validation status of the model package.
	ValidationStatuses interface{} `field:"required" json:"validationStatuses" yaml:"validationStatuses"`
	// The status of the scan of the Docker image container for the model package.
	ImageScanStatuses interface{} `field:"optional" json:"imageScanStatuses" yaml:"imageScanStatuses"`
}

Specifies the validation and image scan statuses of the model package.

Example:

// 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"

modelPackageStatusDetailsProperty := &ModelPackageStatusDetailsProperty{
	ValidationStatuses: []interface{}{
		&ModelPackageStatusItemProperty{
			Name: jsii.String("name"),
			Status: jsii.String("status"),

			// the properties below are optional
			FailureReason: jsii.String("failureReason"),
		},
	},

	// the properties below are optional
	ImageScanStatuses: []interface{}{
		&ModelPackageStatusItemProperty{
			Name: jsii.String("name"),
			Status: jsii.String("status"),

			// the properties below are optional
			FailureReason: jsii.String("failureReason"),
		},
	},
}

type CfnModelPackage_ModelPackageStatusItemProperty added in v2.45.0

type CfnModelPackage_ModelPackageStatusItemProperty struct {
	// The name of the model package for which the overall status is being reported.
	Name *string `field:"required" json:"name" yaml:"name"`
	// The current status.
	Status *string `field:"required" json:"status" yaml:"status"`
	// if the overall status is `Failed` , the reason for the failure.
	FailureReason *string `field:"optional" json:"failureReason" yaml:"failureReason"`
}

Represents the overall status of a model package.

Example:

// 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"

modelPackageStatusItemProperty := &ModelPackageStatusItemProperty{
	Name: jsii.String("name"),
	Status: jsii.String("status"),

	// the properties below are optional
	FailureReason: jsii.String("failureReason"),
}

type CfnModelPackage_ModelQualityProperty added in v2.45.0

type CfnModelPackage_ModelQualityProperty struct {
	// Model quality constraints.
	Constraints interface{} `field:"optional" json:"constraints" yaml:"constraints"`
	// Model quality statistics.
	Statistics interface{} `field:"optional" json:"statistics" yaml:"statistics"`
}

Model quality statistics and constraints.

Example:

// 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"

modelQualityProperty := &ModelQualityProperty{
	Constraints: &MetricsSourceProperty{
		ContentType: jsii.String("contentType"),
		S3Uri: jsii.String("s3Uri"),

		// the properties below are optional
		ContentDigest: jsii.String("contentDigest"),
	},
	Statistics: &MetricsSourceProperty{
		ContentType: jsii.String("contentType"),
		S3Uri: jsii.String("s3Uri"),

		// the properties below are optional
		ContentDigest: jsii.String("contentDigest"),
	},
}

type CfnModelPackage_S3DataSourceProperty added in v2.45.0

type CfnModelPackage_S3DataSourceProperty struct {
	// If you choose `S3Prefix` , `S3Uri` identifies a key name prefix.
	//
	// SageMaker uses all objects that match the specified key name prefix for model training.
	//
	// If you choose `ManifestFile` , `S3Uri` identifies an object that is a manifest file containing a list of object keys that you want SageMaker to use for model training.
	//
	// If you choose `AugmentedManifestFile` , S3Uri identifies an object that is an augmented manifest file in JSON lines format. This file contains the data you want to use for model training. `AugmentedManifestFile` can only be used if the Channel's input mode is `Pipe` .
	S3DataType *string `field:"required" json:"s3DataType" yaml:"s3DataType"`
	// Depending on the value specified for the `S3DataType` , identifies either a key name prefix or a manifest.
	//
	// For example:
	//
	// - A key name prefix might look like this: `s3://bucketname/exampleprefix`
	// - A manifest might look like this: `s3://bucketname/example.manifest`
	//
	// A manifest is an S3 object which is a JSON file consisting of an array of elements. The first element is a prefix which is followed by one or more suffixes. SageMaker appends the suffix elements to the prefix to get a full set of `S3Uri` . Note that the prefix must be a valid non-empty `S3Uri` that precludes users from specifying a manifest whose individual `S3Uri` is sourced from different S3 buckets.
	//
	// The following code example shows a valid manifest format:
	//
	// `[ {"prefix": "s3://customer_bucket/some/prefix/"},`
	//
	// `"relative/path/to/custdata-1",`
	//
	// `"relative/path/custdata-2",`
	//
	// `...`
	//
	// `"relative/path/custdata-N"`
	//
	// `]`
	//
	// This JSON is equivalent to the following `S3Uri` list:
	//
	// `s3://customer_bucket/some/prefix/relative/path/to/custdata-1`
	//
	// `s3://customer_bucket/some/prefix/relative/path/custdata-2`
	//
	// `...`
	//
	// `s3://customer_bucket/some/prefix/relative/path/custdata-N`
	//
	// The complete set of `S3Uri` in this manifest is the input data for the channel for this data source. The object that each `S3Uri` points to must be readable by the IAM role that SageMaker uses to perform tasks on your behalf.
	//
	// Your input bucket must be located in same AWS region as your training job.
	S3Uri *string `field:"required" json:"s3Uri" yaml:"s3Uri"`
}

Describes the S3 data source.

Your input bucket must be in the same AWS region as your training job.

Example:

// 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"

s3DataSourceProperty := &S3DataSourceProperty{
	S3DataType: jsii.String("s3DataType"),
	S3Uri: jsii.String("s3Uri"),
}

type CfnModelPackage_SourceAlgorithmProperty added in v2.45.0

type CfnModelPackage_SourceAlgorithmProperty struct {
	// The name of an algorithm that was used to create the model package.
	//
	// The algorithm must be either an algorithm resource in your SageMaker account or an algorithm in AWS Marketplace that you are subscribed to.
	AlgorithmName *string `field:"required" json:"algorithmName" yaml:"algorithmName"`
	// The Amazon S3 path where the model artifacts, which result from model training, are stored.
	//
	// This path must point to a single `gzip` compressed tar archive ( `.tar.gz` suffix).
	//
	// > The model artifacts must be in an S3 bucket that is in the same AWS region as the algorithm.
	ModelDataUrl *string `field:"optional" json:"modelDataUrl" yaml:"modelDataUrl"`
}

Specifies an algorithm that was used to create the model package.

The algorithm must be either an algorithm resource in your SageMaker account or an algorithm in AWS Marketplace that you are subscribed to.

Example:

// 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"

sourceAlgorithmProperty := &SourceAlgorithmProperty{
	AlgorithmName: jsii.String("algorithmName"),

	// the properties below are optional
	ModelDataUrl: jsii.String("modelDataUrl"),
}

type CfnModelPackage_SourceAlgorithmSpecificationProperty added in v2.45.0

type CfnModelPackage_SourceAlgorithmSpecificationProperty struct {
	// A list of the algorithms that were used to create a model package.
	SourceAlgorithms interface{} `field:"required" json:"sourceAlgorithms" yaml:"sourceAlgorithms"`
}

A list of algorithms that were used to create a model package.

Example:

// 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"

sourceAlgorithmSpecificationProperty := &SourceAlgorithmSpecificationProperty{
	SourceAlgorithms: []interface{}{
		&SourceAlgorithmProperty{
			AlgorithmName: jsii.String("algorithmName"),

			// the properties below are optional
			ModelDataUrl: jsii.String("modelDataUrl"),
		},
	},
}

type CfnModelPackage_TransformInputProperty added in v2.45.0

type CfnModelPackage_TransformInputProperty struct {
	// Describes the location of the channel data, which is, the S3 location of the input data that the model can consume.
	DataSource interface{} `field:"required" json:"dataSource" yaml:"dataSource"`
	// If your transform data is compressed, specify the compression type.
	//
	// Amazon SageMaker automatically decompresses the data for the transform job accordingly. The default value is `None` .
	CompressionType *string `field:"optional" json:"compressionType" yaml:"compressionType"`
	// The multipurpose internet mail extension (MIME) type of the data.
	//
	// Amazon SageMaker uses the MIME type with each http call to transfer data to the transform job.
	ContentType *string `field:"optional" json:"contentType" yaml:"contentType"`
	// The method to use to split the transform job's data files into smaller batches.
	//
	// Splitting is necessary when the total size of each object is too large to fit in a single request. You can also use data splitting to improve performance by processing multiple concurrent mini-batches. The default value for `SplitType` is `None` , which indicates that input data files are not split, and request payloads contain the entire contents of an input object. Set the value of this parameter to `Line` to split records on a newline character boundary. `SplitType` also supports a number of record-oriented binary data formats. Currently, the supported record formats are:
	//
	// - RecordIO
	// - TFRecord
	//
	// When splitting is enabled, the size of a mini-batch depends on the values of the `BatchStrategy` and `MaxPayloadInMB` parameters. When the value of `BatchStrategy` is `MultiRecord` , Amazon SageMaker sends the maximum number of records in each request, up to the `MaxPayloadInMB` limit. If the value of `BatchStrategy` is `SingleRecord` , Amazon SageMaker sends individual records in each request.
	//
	// > Some data formats represent a record as a binary payload wrapped with extra padding bytes. When splitting is applied to a binary data format, padding is removed if the value of `BatchStrategy` is set to `SingleRecord` . Padding is not removed if the value of `BatchStrategy` is set to `MultiRecord` .
	// >
	// > For more information about `RecordIO` , see [Create a Dataset Using RecordIO](https://docs.aws.amazon.com/https://mxnet.apache.org/api/faq/recordio) in the MXNet documentation. For more information about `TFRecord` , see [Consuming TFRecord data](https://docs.aws.amazon.com/https://www.tensorflow.org/guide/data#consuming_tfrecord_data) in the TensorFlow documentation.
	SplitType *string `field:"optional" json:"splitType" yaml:"splitType"`
}

Describes the input source of a transform job and the way the transform job consumes it.

Example:

// 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"

transformInputProperty := &TransformInputProperty{
	DataSource: &DataSourceProperty{
		S3DataSource: &S3DataSourceProperty{
			S3DataType: jsii.String("s3DataType"),
			S3Uri: jsii.String("s3Uri"),
		},
	},

	// the properties below are optional
	CompressionType: jsii.String("compressionType"),
	ContentType: jsii.String("contentType"),
	SplitType: jsii.String("splitType"),
}

type CfnModelPackage_TransformJobDefinitionProperty added in v2.45.0

type CfnModelPackage_TransformJobDefinitionProperty struct {
	// A description of the input source and the way the transform job consumes it.
	TransformInput interface{} `field:"required" json:"transformInput" yaml:"transformInput"`
	// Identifies the Amazon S3 location where you want Amazon SageMaker to save the results from the transform job.
	TransformOutput interface{} `field:"required" json:"transformOutput" yaml:"transformOutput"`
	// Identifies the ML compute instances for the transform job.
	TransformResources interface{} `field:"required" json:"transformResources" yaml:"transformResources"`
	// A string that determines the number of records included in a single mini-batch.
	//
	// `SingleRecord` means only one record is used per mini-batch. `MultiRecord` means a mini-batch is set to contain as many records that can fit within the `MaxPayloadInMB` limit.
	BatchStrategy *string `field:"optional" json:"batchStrategy" yaml:"batchStrategy"`
	// The environment variables to set in the Docker container.
	//
	// We support up to 16 key and values entries in the map.
	Environment interface{} `field:"optional" json:"environment" yaml:"environment"`
	// The maximum number of parallel requests that can be sent to each instance in a transform job.
	//
	// The default value is 1.
	MaxConcurrentTransforms *float64 `field:"optional" json:"maxConcurrentTransforms" yaml:"maxConcurrentTransforms"`
	// The maximum payload size allowed, in MB.
	//
	// A payload is the data portion of a record (without metadata).
	MaxPayloadInMb *float64 `field:"optional" json:"maxPayloadInMb" yaml:"maxPayloadInMb"`
}

Defines the input needed to run a transform job using the inference specification specified in the algorithm.

Example:

// 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"

transformJobDefinitionProperty := &TransformJobDefinitionProperty{
	TransformInput: &TransformInputProperty{
		DataSource: &DataSourceProperty{
			S3DataSource: &S3DataSourceProperty{
				S3DataType: jsii.String("s3DataType"),
				S3Uri: jsii.String("s3Uri"),
			},
		},

		// the properties below are optional
		CompressionType: jsii.String("compressionType"),
		ContentType: jsii.String("contentType"),
		SplitType: jsii.String("splitType"),
	},
	TransformOutput: &TransformOutputProperty{
		S3OutputPath: jsii.String("s3OutputPath"),

		// the properties below are optional
		Accept: jsii.String("accept"),
		AssembleWith: jsii.String("assembleWith"),
		KmsKeyId: jsii.String("kmsKeyId"),
	},
	TransformResources: &TransformResourcesProperty{
		InstanceCount: jsii.Number(123),
		InstanceType: jsii.String("instanceType"),

		// the properties below are optional
		VolumeKmsKeyId: jsii.String("volumeKmsKeyId"),
	},

	// the properties below are optional
	BatchStrategy: jsii.String("batchStrategy"),
	Environment: map[string]*string{
		"environmentKey": jsii.String("environment"),
	},
	MaxConcurrentTransforms: jsii.Number(123),
	MaxPayloadInMb: jsii.Number(123),
}

type CfnModelPackage_TransformOutputProperty added in v2.45.0

type CfnModelPackage_TransformOutputProperty struct {
	// The Amazon S3 path where you want Amazon SageMaker to store the results of the transform job.
	//
	// For example, `s3://bucket-name/key-name-prefix` .
	//
	// For every S3 object used as input for the transform job, batch transform stores the transformed data with an . `out` suffix in a corresponding subfolder in the location in the output prefix. For example, for the input data stored at `s3://bucket-name/input-name-prefix/dataset01/data.csv` , batch transform stores the transformed data at `s3://bucket-name/output-name-prefix/input-name-prefix/data.csv.out` . Batch transform doesn't upload partially processed objects. For an input S3 object that contains multiple records, it creates an . `out` file only if the transform job succeeds on the entire file. When the input contains multiple S3 objects, the batch transform job processes the listed S3 objects and uploads only the output for successfully processed objects. If any object fails in the transform job batch transform marks the job as failed to prompt investigation.
	S3OutputPath *string `field:"required" json:"s3OutputPath" yaml:"s3OutputPath"`
	// The MIME type used to specify the output data.
	//
	// Amazon SageMaker uses the MIME type with each http call to transfer data from the transform job.
	Accept *string `field:"optional" json:"accept" yaml:"accept"`
	// Defines how to assemble the results of the transform job as a single S3 object.
	//
	// Choose a format that is most convenient to you. To concatenate the results in binary format, specify `None` . To add a newline character at the end of every transformed record, specify `Line` .
	AssembleWith *string `field:"optional" json:"assembleWith" yaml:"assembleWith"`
	// The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt the model artifacts at rest using Amazon S3 server-side encryption.
	//
	// The `KmsKeyId` can be any of the following formats:
	//
	// - 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`
	//
	// If you don't provide a KMS key ID, Amazon SageMaker uses the default KMS key for Amazon S3 for your role's account. For more information, see [KMS-Managed Encryption Keys](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html) in the *Amazon Simple Storage Service Developer Guide.*
	//
	// The KMS key policy must grant permission to the IAM role that you specify in your [CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html) request. For more information, see [Using Key Policies in AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) in the *AWS Key Management Service Developer Guide* .
	KmsKeyId *string `field:"optional" json:"kmsKeyId" yaml:"kmsKeyId"`
}

Describes the results of a transform job.

Example:

// 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"

transformOutputProperty := &TransformOutputProperty{
	S3OutputPath: jsii.String("s3OutputPath"),

	// the properties below are optional
	Accept: jsii.String("accept"),
	AssembleWith: jsii.String("assembleWith"),
	KmsKeyId: jsii.String("kmsKeyId"),
}

type CfnModelPackage_TransformResourcesProperty added in v2.45.0

type CfnModelPackage_TransformResourcesProperty struct {
	// The number of ML compute instances to use in the transform job.
	//
	// The default value is `1` , and the maximum is `100` . For distributed transform jobs, specify a value greater than `1` .
	InstanceCount *float64 `field:"required" json:"instanceCount" yaml:"instanceCount"`
	// The ML compute instance type for the transform job.
	//
	// If you are using built-in algorithms to transform moderately sized datasets, we recommend using ml.m4.xlarge or `ml.m5.large` instance types.
	InstanceType *string `field:"required" json:"instanceType" yaml:"instanceType"`
	// The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt model data on the storage volume attached to the ML compute instance(s) that run the batch transform job.
	//
	// > 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 `VolumeKmsKeyId` when using an instance type with local storage.
	// >
	// > For a list of instance types that support local instance storage, see [Instance Store Volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes) .
	// >
	// > For more information about local instance storage encryption, see [SSD Instance Store Volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ssd-instance-store.html) .
	//
	// The `VolumeKmsKeyId` can be any of the following formats:
	//
	// - 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`.
	VolumeKmsKeyId *string `field:"optional" json:"volumeKmsKeyId" yaml:"volumeKmsKeyId"`
}

Describes the resources, including ML instance types and ML instance count, to use for transform job.

Example:

// 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"

transformResourcesProperty := &TransformResourcesProperty{
	InstanceCount: jsii.Number(123),
	InstanceType: jsii.String("instanceType"),

	// the properties below are optional
	VolumeKmsKeyId: jsii.String("volumeKmsKeyId"),
}

type CfnModelPackage_UserContextProperty added in v2.45.0

type CfnModelPackage_UserContextProperty struct {
	// The domain associated with the user.
	DomainId *string `field:"optional" json:"domainId" yaml:"domainId"`
	// The Amazon Resource Name (ARN) of the user's profile.
	UserProfileArn *string `field:"optional" json:"userProfileArn" yaml:"userProfileArn"`
	// The name of the user's profile.
	UserProfileName *string `field:"optional" json:"userProfileName" yaml:"userProfileName"`
}

Information about the user who created or modified an experiment, trial, trial component, lineage group, project, or model card.

Example:

// 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"

userContextProperty := &UserContextProperty{
	DomainId: jsii.String("domainId"),
	UserProfileArn: jsii.String("userProfileArn"),
	UserProfileName: jsii.String("userProfileName"),
}

type CfnModelPackage_ValidationProfileProperty added in v2.45.0

type CfnModelPackage_ValidationProfileProperty struct {
	// The name of the profile for the model package.
	ProfileName *string `field:"required" json:"profileName" yaml:"profileName"`
	// The `TransformJobDefinition` object that describes the transform job used for the validation of the model package.
	TransformJobDefinition interface{} `field:"required" json:"transformJobDefinition" yaml:"transformJobDefinition"`
}

Contains data, such as the inputs and targeted instance types that are used in the process of validating the model package.

The data provided in the validation profile is made available to your buyers on AWS Marketplace.

Example:

// 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"

validationProfileProperty := &ValidationProfileProperty{
	ProfileName: jsii.String("profileName"),
	TransformJobDefinition: &TransformJobDefinitionProperty{
		TransformInput: &TransformInputProperty{
			DataSource: &DataSourceProperty{
				S3DataSource: &S3DataSourceProperty{
					S3DataType: jsii.String("s3DataType"),
					S3Uri: jsii.String("s3Uri"),
				},
			},

			// the properties below are optional
			CompressionType: jsii.String("compressionType"),
			ContentType: jsii.String("contentType"),
			SplitType: jsii.String("splitType"),
		},
		TransformOutput: &TransformOutputProperty{
			S3OutputPath: jsii.String("s3OutputPath"),

			// the properties below are optional
			Accept: jsii.String("accept"),
			AssembleWith: jsii.String("assembleWith"),
			KmsKeyId: jsii.String("kmsKeyId"),
		},
		TransformResources: &TransformResourcesProperty{
			InstanceCount: jsii.Number(123),
			InstanceType: jsii.String("instanceType"),

			// the properties below are optional
			VolumeKmsKeyId: jsii.String("volumeKmsKeyId"),
		},

		// the properties below are optional
		BatchStrategy: jsii.String("batchStrategy"),
		Environment: map[string]*string{
			"environmentKey": jsii.String("environment"),
		},
		MaxConcurrentTransforms: jsii.Number(123),
		MaxPayloadInMb: jsii.Number(123),
	},
}

type CfnModelPackage_ValidationSpecificationProperty added in v2.45.0

type CfnModelPackage_ValidationSpecificationProperty struct {
	// An array of `ModelPackageValidationProfile` objects, each of which specifies a batch transform job that SageMaker runs to validate your model package.
	ValidationProfiles interface{} `field:"required" json:"validationProfiles" yaml:"validationProfiles"`
	// The IAM roles to be used for the validation of the model package.
	ValidationRole *string `field:"required" json:"validationRole" yaml:"validationRole"`
}

Specifies batch transform jobs that SageMaker runs to validate your model package.

Example:

// 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"

validationSpecificationProperty := &ValidationSpecificationProperty{
	ValidationProfiles: []interface{}{
		&ValidationProfileProperty{
			ProfileName: jsii.String("profileName"),
			TransformJobDefinition: &TransformJobDefinitionProperty{
				TransformInput: &TransformInputProperty{
					DataSource: &DataSourceProperty{
						S3DataSource: &S3DataSourceProperty{
							S3DataType: jsii.String("s3DataType"),
							S3Uri: jsii.String("s3Uri"),
						},
					},

					// the properties below are optional
					CompressionType: jsii.String("compressionType"),
					ContentType: jsii.String("contentType"),
					SplitType: jsii.String("splitType"),
				},
				TransformOutput: &TransformOutputProperty{
					S3OutputPath: jsii.String("s3OutputPath"),

					// the properties below are optional
					Accept: jsii.String("accept"),
					AssembleWith: jsii.String("assembleWith"),
					KmsKeyId: jsii.String("kmsKeyId"),
				},
				TransformResources: &TransformResourcesProperty{
					InstanceCount: jsii.Number(123),
					InstanceType: jsii.String("instanceType"),

					// the properties below are optional
					VolumeKmsKeyId: jsii.String("volumeKmsKeyId"),
				},

				// the properties below are optional
				BatchStrategy: jsii.String("batchStrategy"),
				Environment: map[string]*string{
					"environmentKey": jsii.String("environment"),
				},
				MaxConcurrentTransforms: jsii.Number(123),
				MaxPayloadInMb: jsii.Number(123),
			},
		},
	},
	ValidationRole: jsii.String("validationRole"),
}

type CfnModelProps

type CfnModelProps struct {
	// The Amazon Resource Name (ARN) of the IAM role that SageMaker can assume to access model artifacts and docker image for deployment on ML compute instances or for batch transform jobs.
	//
	// Deploying on ML compute instances is part of model hosting. For more information, see [SageMaker Roles](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles.html) .
	//
	// > To be able to pass this role to SageMaker, the caller of this API must have the `iam:PassRole` permission.
	ExecutionRoleArn *string `field:"required" json:"executionRoleArn" yaml:"executionRoleArn"`
	// Specifies the containers in the inference pipeline.
	Containers interface{} `field:"optional" json:"containers" yaml:"containers"`
	// Isolates the model container.
	//
	// No inbound or outbound network calls can be made to or from the model container.
	EnableNetworkIsolation interface{} `field:"optional" json:"enableNetworkIsolation" yaml:"enableNetworkIsolation"`
	// Specifies details of how containers in a multi-container endpoint are called.
	InferenceExecutionConfig interface{} `field:"optional" json:"inferenceExecutionConfig" yaml:"inferenceExecutionConfig"`
	// The name of the new model.
	ModelName *string `field:"optional" json:"modelName" yaml:"modelName"`
	// The location of the primary docker image containing inference code, associated artifacts, and custom environment map that the inference code uses when the model is deployed for predictions.
	PrimaryContainer interface{} `field:"optional" json:"primaryContainer" yaml:"primaryContainer"`
	// A list of key-value pairs to apply to this resource.
	//
	// For more information, see [Resource Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) and [Using Cost Allocation Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what) in the *AWS Billing and Cost Management User Guide* .
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
	// A [VpcConfig](https://docs.aws.amazon.com/sagemaker/latest/dg/API_VpcConfig.html) object that specifies the VPC that you want your model to connect to. Control access to and from your model container by configuring the VPC. `VpcConfig` is used in hosting services and in batch transform. For more information, see [Protect Endpoints by Using an Amazon Virtual Private Cloud](https://docs.aws.amazon.com/sagemaker/latest/dg/host-vpc.html) and [Protect Data in Batch Transform Jobs by Using an Amazon Virtual Private Cloud](https://docs.aws.amazon.com/sagemaker/latest/dg/batch-vpc.html) .
	VpcConfig interface{} `field:"optional" json:"vpcConfig" yaml:"vpcConfig"`
}

Properties for defining a `CfnModel`.

Example:

// 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"

var environment interface{}

cfnModelProps := &CfnModelProps{
	ExecutionRoleArn: jsii.String("executionRoleArn"),

	// the properties below are optional
	Containers: []interface{}{
		&ContainerDefinitionProperty{
			ContainerHostname: jsii.String("containerHostname"),
			Environment: environment,
			Image: jsii.String("image"),
			ImageConfig: &ImageConfigProperty{
				RepositoryAccessMode: jsii.String("repositoryAccessMode"),

				// the properties below are optional
				RepositoryAuthConfig: &RepositoryAuthConfigProperty{
					RepositoryCredentialsProviderArn: jsii.String("repositoryCredentialsProviderArn"),
				},
			},
			InferenceSpecificationName: jsii.String("inferenceSpecificationName"),
			Mode: jsii.String("mode"),
			ModelDataUrl: jsii.String("modelDataUrl"),
			ModelPackageName: jsii.String("modelPackageName"),
			MultiModelConfig: &MultiModelConfigProperty{
				ModelCacheSetting: jsii.String("modelCacheSetting"),
			},
		},
	},
	EnableNetworkIsolation: jsii.Boolean(false),
	InferenceExecutionConfig: &InferenceExecutionConfigProperty{
		Mode: jsii.String("mode"),
	},
	ModelName: jsii.String("modelName"),
	PrimaryContainer: &ContainerDefinitionProperty{
		ContainerHostname: jsii.String("containerHostname"),
		Environment: environment,
		Image: jsii.String("image"),
		ImageConfig: &ImageConfigProperty{
			RepositoryAccessMode: jsii.String("repositoryAccessMode"),

			// the properties below are optional
			RepositoryAuthConfig: &RepositoryAuthConfigProperty{
				RepositoryCredentialsProviderArn: jsii.String("repositoryCredentialsProviderArn"),
			},
		},
		InferenceSpecificationName: jsii.String("inferenceSpecificationName"),
		Mode: jsii.String("mode"),
		ModelDataUrl: jsii.String("modelDataUrl"),
		ModelPackageName: jsii.String("modelPackageName"),
		MultiModelConfig: &MultiModelConfigProperty{
			ModelCacheSetting: jsii.String("modelCacheSetting"),
		},
	},
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
	VpcConfig: &VpcConfigProperty{
		SecurityGroupIds: []*string{
			jsii.String("securityGroupIds"),
		},
		Subnets: []*string{
			jsii.String("subnets"),
		},
	},
}

type CfnModelQualityJobDefinition

type CfnModelQualityJobDefinition interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// The time when the job definition was created.
	AttrCreationTime() *string
	// The Amazon Resource Name (ARN) of the job definition.
	AttrJobDefinitionArn() *string
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// `AWS::SageMaker::ModelQualityJobDefinition.EndpointName`.
	EndpointName() *string
	SetEndpointName(val *string)
	// The name of the monitoring job definition.
	JobDefinitionName() *string
	SetJobDefinitionName(val *string)
	// Identifies the resources to deploy for a monitoring job.
	JobResources() interface{}
	SetJobResources(val interface{})
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// Container image configuration object for the monitoring job.
	ModelQualityAppSpecification() interface{}
	SetModelQualityAppSpecification(val interface{})
	// Specifies the constraints and baselines for the monitoring job.
	ModelQualityBaselineConfig() interface{}
	SetModelQualityBaselineConfig(val interface{})
	// A list of the inputs that are monitored.
	//
	// Currently endpoints are supported.
	ModelQualityJobInput() interface{}
	SetModelQualityJobInput(val interface{})
	// The output configuration for monitoring jobs.
	ModelQualityJobOutputConfig() interface{}
	SetModelQualityJobOutputConfig(val interface{})
	// Specifies the network configuration for the monitoring job.
	NetworkConfig() interface{}
	SetNetworkConfig(val interface{})
	// The tree node.
	Node() constructs.Node
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform tasks on your behalf.
	RoleArn() *string
	SetRoleArn(val *string)
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// A time limit for how long the monitoring job is allowed to run before stopping.
	StoppingCondition() interface{}
	SetStoppingCondition(val interface{})
	// An array of key-value pairs to apply to this resource.
	//
	// For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .
	Tags() awscdk.TagManager
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// 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`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::SageMaker::ModelQualityJobDefinition`.

Creates a definition for a job that monitors model quality and drift. For information about model monitor, see [Amazon SageMaker Model Monitor](https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor.html) .

Example:

// 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"

cfnModelQualityJobDefinition := awscdk.Aws_sagemaker.NewCfnModelQualityJobDefinition(this, jsii.String("MyCfnModelQualityJobDefinition"), &CfnModelQualityJobDefinitionProps{
	JobResources: &MonitoringResourcesProperty{
		ClusterConfig: &ClusterConfigProperty{
			InstanceCount: jsii.Number(123),
			InstanceType: jsii.String("instanceType"),
			VolumeSizeInGb: jsii.Number(123),

			// the properties below are optional
			VolumeKmsKeyId: jsii.String("volumeKmsKeyId"),
		},
	},
	ModelQualityAppSpecification: &ModelQualityAppSpecificationProperty{
		ImageUri: jsii.String("imageUri"),
		ProblemType: jsii.String("problemType"),

		// the properties below are optional
		ContainerArguments: []*string{
			jsii.String("containerArguments"),
		},
		ContainerEntrypoint: []*string{
			jsii.String("containerEntrypoint"),
		},
		Environment: map[string]*string{
			"environmentKey": jsii.String("environment"),
		},
		PostAnalyticsProcessorSourceUri: jsii.String("postAnalyticsProcessorSourceUri"),
		RecordPreprocessorSourceUri: jsii.String("recordPreprocessorSourceUri"),
	},
	ModelQualityJobInput: &ModelQualityJobInputProperty{
		GroundTruthS3Input: &MonitoringGroundTruthS3InputProperty{
			S3Uri: jsii.String("s3Uri"),
		},

		// the properties below are optional
		BatchTransformInput: &BatchTransformInputProperty{
			DataCapturedDestinationS3Uri: jsii.String("dataCapturedDestinationS3Uri"),
			DatasetFormat: &DatasetFormatProperty{
				Csv: &CsvProperty{
					Header: jsii.Boolean(false),
				},
				Json: &JsonProperty{
					Line: jsii.Boolean(false),
				},
				Parquet: jsii.Boolean(false),
			},
			LocalPath: jsii.String("localPath"),

			// the properties below are optional
			EndTimeOffset: jsii.String("endTimeOffset"),
			InferenceAttribute: jsii.String("inferenceAttribute"),
			ProbabilityAttribute: jsii.String("probabilityAttribute"),
			ProbabilityThresholdAttribute: jsii.Number(123),
			S3DataDistributionType: jsii.String("s3DataDistributionType"),
			S3InputMode: jsii.String("s3InputMode"),
			StartTimeOffset: jsii.String("startTimeOffset"),
		},
		EndpointInput: &EndpointInputProperty{
			EndpointName: jsii.String("endpointName"),
			LocalPath: jsii.String("localPath"),

			// the properties below are optional
			EndTimeOffset: jsii.String("endTimeOffset"),
			InferenceAttribute: jsii.String("inferenceAttribute"),
			ProbabilityAttribute: jsii.String("probabilityAttribute"),
			ProbabilityThresholdAttribute: jsii.Number(123),
			S3DataDistributionType: jsii.String("s3DataDistributionType"),
			S3InputMode: jsii.String("s3InputMode"),
			StartTimeOffset: jsii.String("startTimeOffset"),
		},
	},
	ModelQualityJobOutputConfig: &MonitoringOutputConfigProperty{
		MonitoringOutputs: []interface{}{
			&MonitoringOutputProperty{
				S3Output: &S3OutputProperty{
					LocalPath: jsii.String("localPath"),
					S3Uri: jsii.String("s3Uri"),

					// the properties below are optional
					S3UploadMode: jsii.String("s3UploadMode"),
				},
			},
		},

		// the properties below are optional
		KmsKeyId: jsii.String("kmsKeyId"),
	},
	RoleArn: jsii.String("roleArn"),

	// the properties below are optional
	EndpointName: jsii.String("endpointName"),
	JobDefinitionName: jsii.String("jobDefinitionName"),
	ModelQualityBaselineConfig: &ModelQualityBaselineConfigProperty{
		BaseliningJobName: jsii.String("baseliningJobName"),
		ConstraintsResource: &ConstraintsResourceProperty{
			S3Uri: jsii.String("s3Uri"),
		},
	},
	NetworkConfig: &NetworkConfigProperty{
		EnableInterContainerTrafficEncryption: jsii.Boolean(false),
		EnableNetworkIsolation: jsii.Boolean(false),
		VpcConfig: &VpcConfigProperty{
			SecurityGroupIds: []*string{
				jsii.String("securityGroupIds"),
			},
			Subnets: []*string{
				jsii.String("subnets"),
			},
		},
	},
	StoppingCondition: &StoppingConditionProperty{
		MaxRuntimeInSeconds: jsii.Number(123),
	},
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
})

func NewCfnModelQualityJobDefinition

func NewCfnModelQualityJobDefinition(scope constructs.Construct, id *string, props *CfnModelQualityJobDefinitionProps) CfnModelQualityJobDefinition

Create a new `AWS::SageMaker::ModelQualityJobDefinition`.

type CfnModelQualityJobDefinitionProps

type CfnModelQualityJobDefinitionProps struct {
	// Identifies the resources to deploy for a monitoring job.
	JobResources interface{} `field:"required" json:"jobResources" yaml:"jobResources"`
	// Container image configuration object for the monitoring job.
	ModelQualityAppSpecification interface{} `field:"required" json:"modelQualityAppSpecification" yaml:"modelQualityAppSpecification"`
	// A list of the inputs that are monitored.
	//
	// Currently endpoints are supported.
	ModelQualityJobInput interface{} `field:"required" json:"modelQualityJobInput" yaml:"modelQualityJobInput"`
	// The output configuration for monitoring jobs.
	ModelQualityJobOutputConfig interface{} `field:"required" json:"modelQualityJobOutputConfig" yaml:"modelQualityJobOutputConfig"`
	// The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform tasks on your behalf.
	RoleArn *string `field:"required" json:"roleArn" yaml:"roleArn"`
	// `AWS::SageMaker::ModelQualityJobDefinition.EndpointName`.
	EndpointName *string `field:"optional" json:"endpointName" yaml:"endpointName"`
	// The name of the monitoring job definition.
	JobDefinitionName *string `field:"optional" json:"jobDefinitionName" yaml:"jobDefinitionName"`
	// Specifies the constraints and baselines for the monitoring job.
	ModelQualityBaselineConfig interface{} `field:"optional" json:"modelQualityBaselineConfig" yaml:"modelQualityBaselineConfig"`
	// Specifies the network configuration for the monitoring job.
	NetworkConfig interface{} `field:"optional" json:"networkConfig" yaml:"networkConfig"`
	// A time limit for how long the monitoring job is allowed to run before stopping.
	StoppingCondition interface{} `field:"optional" json:"stoppingCondition" yaml:"stoppingCondition"`
	// An array of key-value pairs to apply to this resource.
	//
	// For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
}

Properties for defining a `CfnModelQualityJobDefinition`.

Example:

// 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"

cfnModelQualityJobDefinitionProps := &CfnModelQualityJobDefinitionProps{
	JobResources: &MonitoringResourcesProperty{
		ClusterConfig: &ClusterConfigProperty{
			InstanceCount: jsii.Number(123),
			InstanceType: jsii.String("instanceType"),
			VolumeSizeInGb: jsii.Number(123),

			// the properties below are optional
			VolumeKmsKeyId: jsii.String("volumeKmsKeyId"),
		},
	},
	ModelQualityAppSpecification: &ModelQualityAppSpecificationProperty{
		ImageUri: jsii.String("imageUri"),
		ProblemType: jsii.String("problemType"),

		// the properties below are optional
		ContainerArguments: []*string{
			jsii.String("containerArguments"),
		},
		ContainerEntrypoint: []*string{
			jsii.String("containerEntrypoint"),
		},
		Environment: map[string]*string{
			"environmentKey": jsii.String("environment"),
		},
		PostAnalyticsProcessorSourceUri: jsii.String("postAnalyticsProcessorSourceUri"),
		RecordPreprocessorSourceUri: jsii.String("recordPreprocessorSourceUri"),
	},
	ModelQualityJobInput: &ModelQualityJobInputProperty{
		GroundTruthS3Input: &MonitoringGroundTruthS3InputProperty{
			S3Uri: jsii.String("s3Uri"),
		},

		// the properties below are optional
		BatchTransformInput: &BatchTransformInputProperty{
			DataCapturedDestinationS3Uri: jsii.String("dataCapturedDestinationS3Uri"),
			DatasetFormat: &DatasetFormatProperty{
				Csv: &CsvProperty{
					Header: jsii.Boolean(false),
				},
				Json: &JsonProperty{
					Line: jsii.Boolean(false),
				},
				Parquet: jsii.Boolean(false),
			},
			LocalPath: jsii.String("localPath"),

			// the properties below are optional
			EndTimeOffset: jsii.String("endTimeOffset"),
			InferenceAttribute: jsii.String("inferenceAttribute"),
			ProbabilityAttribute: jsii.String("probabilityAttribute"),
			ProbabilityThresholdAttribute: jsii.Number(123),
			S3DataDistributionType: jsii.String("s3DataDistributionType"),
			S3InputMode: jsii.String("s3InputMode"),
			StartTimeOffset: jsii.String("startTimeOffset"),
		},
		EndpointInput: &EndpointInputProperty{
			EndpointName: jsii.String("endpointName"),
			LocalPath: jsii.String("localPath"),

			// the properties below are optional
			EndTimeOffset: jsii.String("endTimeOffset"),
			InferenceAttribute: jsii.String("inferenceAttribute"),
			ProbabilityAttribute: jsii.String("probabilityAttribute"),
			ProbabilityThresholdAttribute: jsii.Number(123),
			S3DataDistributionType: jsii.String("s3DataDistributionType"),
			S3InputMode: jsii.String("s3InputMode"),
			StartTimeOffset: jsii.String("startTimeOffset"),
		},
	},
	ModelQualityJobOutputConfig: &MonitoringOutputConfigProperty{
		MonitoringOutputs: []interface{}{
			&MonitoringOutputProperty{
				S3Output: &S3OutputProperty{
					LocalPath: jsii.String("localPath"),
					S3Uri: jsii.String("s3Uri"),

					// the properties below are optional
					S3UploadMode: jsii.String("s3UploadMode"),
				},
			},
		},

		// the properties below are optional
		KmsKeyId: jsii.String("kmsKeyId"),
	},
	RoleArn: jsii.String("roleArn"),

	// the properties below are optional
	EndpointName: jsii.String("endpointName"),
	JobDefinitionName: jsii.String("jobDefinitionName"),
	ModelQualityBaselineConfig: &ModelQualityBaselineConfigProperty{
		BaseliningJobName: jsii.String("baseliningJobName"),
		ConstraintsResource: &ConstraintsResourceProperty{
			S3Uri: jsii.String("s3Uri"),
		},
	},
	NetworkConfig: &NetworkConfigProperty{
		EnableInterContainerTrafficEncryption: jsii.Boolean(false),
		EnableNetworkIsolation: jsii.Boolean(false),
		VpcConfig: &VpcConfigProperty{
			SecurityGroupIds: []*string{
				jsii.String("securityGroupIds"),
			},
			Subnets: []*string{
				jsii.String("subnets"),
			},
		},
	},
	StoppingCondition: &StoppingConditionProperty{
		MaxRuntimeInSeconds: jsii.Number(123),
	},
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
}

type CfnModelQualityJobDefinition_BatchTransformInputProperty added in v2.48.0

type CfnModelQualityJobDefinition_BatchTransformInputProperty struct {
	// `CfnModelQualityJobDefinition.BatchTransformInputProperty.DataCapturedDestinationS3Uri`.
	DataCapturedDestinationS3Uri *string `field:"required" json:"dataCapturedDestinationS3Uri" yaml:"dataCapturedDestinationS3Uri"`
	// `CfnModelQualityJobDefinition.BatchTransformInputProperty.DatasetFormat`.
	DatasetFormat interface{} `field:"required" json:"datasetFormat" yaml:"datasetFormat"`
	// `CfnModelQualityJobDefinition.BatchTransformInputProperty.LocalPath`.
	LocalPath *string `field:"required" json:"localPath" yaml:"localPath"`
	// `CfnModelQualityJobDefinition.BatchTransformInputProperty.EndTimeOffset`.
	EndTimeOffset *string `field:"optional" json:"endTimeOffset" yaml:"endTimeOffset"`
	// `CfnModelQualityJobDefinition.BatchTransformInputProperty.InferenceAttribute`.
	InferenceAttribute *string `field:"optional" json:"inferenceAttribute" yaml:"inferenceAttribute"`
	// `CfnModelQualityJobDefinition.BatchTransformInputProperty.ProbabilityAttribute`.
	ProbabilityAttribute *string `field:"optional" json:"probabilityAttribute" yaml:"probabilityAttribute"`
	// `CfnModelQualityJobDefinition.BatchTransformInputProperty.ProbabilityThresholdAttribute`.
	ProbabilityThresholdAttribute *float64 `field:"optional" json:"probabilityThresholdAttribute" yaml:"probabilityThresholdAttribute"`
	// `CfnModelQualityJobDefinition.BatchTransformInputProperty.S3DataDistributionType`.
	S3DataDistributionType *string `field:"optional" json:"s3DataDistributionType" yaml:"s3DataDistributionType"`
	// `CfnModelQualityJobDefinition.BatchTransformInputProperty.S3InputMode`.
	S3InputMode *string `field:"optional" json:"s3InputMode" yaml:"s3InputMode"`
	// `CfnModelQualityJobDefinition.BatchTransformInputProperty.StartTimeOffset`.
	StartTimeOffset *string `field:"optional" json:"startTimeOffset" yaml:"startTimeOffset"`
}

Example:

// 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"

batchTransformInputProperty := &BatchTransformInputProperty{
	DataCapturedDestinationS3Uri: jsii.String("dataCapturedDestinationS3Uri"),
	DatasetFormat: &DatasetFormatProperty{
		Csv: &CsvProperty{
			Header: jsii.Boolean(false),
		},
		Json: &JsonProperty{
			Line: jsii.Boolean(false),
		},
		Parquet: jsii.Boolean(false),
	},
	LocalPath: jsii.String("localPath"),

	// the properties below are optional
	EndTimeOffset: jsii.String("endTimeOffset"),
	InferenceAttribute: jsii.String("inferenceAttribute"),
	ProbabilityAttribute: jsii.String("probabilityAttribute"),
	ProbabilityThresholdAttribute: jsii.Number(123),
	S3DataDistributionType: jsii.String("s3DataDistributionType"),
	S3InputMode: jsii.String("s3InputMode"),
	StartTimeOffset: jsii.String("startTimeOffset"),
}

type CfnModelQualityJobDefinition_ClusterConfigProperty

type CfnModelQualityJobDefinition_ClusterConfigProperty struct {
	// The number of ML compute instances to use in the model monitoring job.
	//
	// For distributed processing jobs, specify a value greater than 1. The default value is 1.
	InstanceCount *float64 `field:"required" json:"instanceCount" yaml:"instanceCount"`
	// The ML compute instance type for the processing job.
	InstanceType *string `field:"required" json:"instanceType" yaml:"instanceType"`
	// The size of the ML storage volume, in gigabytes, that you want to provision.
	//
	// You must specify sufficient ML storage for your scenario.
	VolumeSizeInGb *float64 `field:"required" json:"volumeSizeInGb" yaml:"volumeSizeInGb"`
	// The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance(s) that run the model monitoring job.
	VolumeKmsKeyId *string `field:"optional" json:"volumeKmsKeyId" yaml:"volumeKmsKeyId"`
}

The configuration for the cluster of resources used to run the processing job.

Example:

// 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"

clusterConfigProperty := &ClusterConfigProperty{
	InstanceCount: jsii.Number(123),
	InstanceType: jsii.String("instanceType"),
	VolumeSizeInGb: jsii.Number(123),

	// the properties below are optional
	VolumeKmsKeyId: jsii.String("volumeKmsKeyId"),
}

type CfnModelQualityJobDefinition_ConstraintsResourceProperty

type CfnModelQualityJobDefinition_ConstraintsResourceProperty struct {
	// The Amazon S3 URI for the constraints resource.
	S3Uri *string `field:"optional" json:"s3Uri" yaml:"s3Uri"`
}

The constraints resource for a monitoring job.

Example:

// 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"

constraintsResourceProperty := &ConstraintsResourceProperty{
	S3Uri: jsii.String("s3Uri"),
}

type CfnModelQualityJobDefinition_CsvProperty added in v2.48.0

type CfnModelQualityJobDefinition_CsvProperty struct {
	// `CfnModelQualityJobDefinition.CsvProperty.Header`.
	Header interface{} `field:"optional" json:"header" yaml:"header"`
}

Example:

// 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"

csvProperty := &CsvProperty{
	Header: jsii.Boolean(false),
}

type CfnModelQualityJobDefinition_DatasetFormatProperty added in v2.48.0

type CfnModelQualityJobDefinition_DatasetFormatProperty struct {
	// `CfnModelQualityJobDefinition.DatasetFormatProperty.Csv`.
	Csv interface{} `field:"optional" json:"csv" yaml:"csv"`
	// `CfnModelQualityJobDefinition.DatasetFormatProperty.Json`.
	Json interface{} `field:"optional" json:"json" yaml:"json"`
	// `CfnModelQualityJobDefinition.DatasetFormatProperty.Parquet`.
	Parquet interface{} `field:"optional" json:"parquet" yaml:"parquet"`
}

Example:

// 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"

datasetFormatProperty := &DatasetFormatProperty{
	Csv: &CsvProperty{
		Header: jsii.Boolean(false),
	},
	Json: &JsonProperty{
		Line: jsii.Boolean(false),
	},
	Parquet: jsii.Boolean(false),
}

type CfnModelQualityJobDefinition_EndpointInputProperty

type CfnModelQualityJobDefinition_EndpointInputProperty struct {
	// An endpoint in customer's account which has enabled `DataCaptureConfig` enabled.
	EndpointName *string `field:"required" json:"endpointName" yaml:"endpointName"`
	// Path to the filesystem where the endpoint data is available to the container.
	LocalPath *string `field:"required" json:"localPath" yaml:"localPath"`
	// If specified, monitoring jobs substract this time from the end time.
	//
	// For information about using offsets for scheduling monitoring jobs, see [Schedule Model Quality Monitoring Jobs](https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor-model-quality-schedule.html) .
	EndTimeOffset *string `field:"optional" json:"endTimeOffset" yaml:"endTimeOffset"`
	// The attribute of the input data that represents the ground truth label.
	InferenceAttribute *string `field:"optional" json:"inferenceAttribute" yaml:"inferenceAttribute"`
	// In a classification problem, the attribute that represents the class probability.
	ProbabilityAttribute *string `field:"optional" json:"probabilityAttribute" yaml:"probabilityAttribute"`
	// The threshold for the class probability to be evaluated as a positive result.
	ProbabilityThresholdAttribute *float64 `field:"optional" json:"probabilityThresholdAttribute" yaml:"probabilityThresholdAttribute"`
	// Whether input data distributed in Amazon S3 is fully replicated or sharded by an S3 key.
	//
	// Defaults to `FullyReplicated`.
	S3DataDistributionType *string `field:"optional" json:"s3DataDistributionType" yaml:"s3DataDistributionType"`
	// Whether the `Pipe` or `File` is used as the input mode for transferring data for the monitoring job.
	//
	// `Pipe` mode is recommended for large datasets. `File` mode is useful for small files that fit in memory. Defaults to `File` .
	S3InputMode *string `field:"optional" json:"s3InputMode" yaml:"s3InputMode"`
	// If specified, monitoring jobs substract this time from the start time.
	//
	// For information about using offsets for scheduling monitoring jobs, see [Schedule Model Quality Monitoring Jobs](https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor-model-quality-schedule.html) .
	StartTimeOffset *string `field:"optional" json:"startTimeOffset" yaml:"startTimeOffset"`
}

Input object for the endpoint.

Example:

// 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"

endpointInputProperty := &EndpointInputProperty{
	EndpointName: jsii.String("endpointName"),
	LocalPath: jsii.String("localPath"),

	// the properties below are optional
	EndTimeOffset: jsii.String("endTimeOffset"),
	InferenceAttribute: jsii.String("inferenceAttribute"),
	ProbabilityAttribute: jsii.String("probabilityAttribute"),
	ProbabilityThresholdAttribute: jsii.Number(123),
	S3DataDistributionType: jsii.String("s3DataDistributionType"),
	S3InputMode: jsii.String("s3InputMode"),
	StartTimeOffset: jsii.String("startTimeOffset"),
}

type CfnModelQualityJobDefinition_JsonProperty added in v2.48.0

type CfnModelQualityJobDefinition_JsonProperty struct {
	// `CfnModelQualityJobDefinition.JsonProperty.Line`.
	Line interface{} `field:"optional" json:"line" yaml:"line"`
}

Example:

// 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"

jsonProperty := &JsonProperty{
	Line: jsii.Boolean(false),
}

type CfnModelQualityJobDefinition_ModelQualityAppSpecificationProperty

type CfnModelQualityJobDefinition_ModelQualityAppSpecificationProperty struct {
	// The address of the container image that the monitoring job runs.
	ImageUri *string `field:"required" json:"imageUri" yaml:"imageUri"`
	// The machine learning problem type of the model that the monitoring job monitors.
	ProblemType *string `field:"required" json:"problemType" yaml:"problemType"`
	// An array of arguments for the container used to run the monitoring job.
	ContainerArguments *[]*string `field:"optional" json:"containerArguments" yaml:"containerArguments"`
	// Specifies the entrypoint for a container that the monitoring job runs.
	ContainerEntrypoint *[]*string `field:"optional" json:"containerEntrypoint" yaml:"containerEntrypoint"`
	// Sets the environment variables in the container that the monitoring job runs.
	Environment interface{} `field:"optional" json:"environment" yaml:"environment"`
	// An Amazon S3 URI to a script that is called after analysis has been performed.
	//
	// Applicable only for the built-in (first party) containers.
	PostAnalyticsProcessorSourceUri *string `field:"optional" json:"postAnalyticsProcessorSourceUri" yaml:"postAnalyticsProcessorSourceUri"`
	// An Amazon S3 URI to a script that is called per row prior to running analysis.
	//
	// It can base64 decode the payload and convert it into a flatted json so that the built-in container can use the converted data. Applicable only for the built-in (first party) containers.
	RecordPreprocessorSourceUri *string `field:"optional" json:"recordPreprocessorSourceUri" yaml:"recordPreprocessorSourceUri"`
}

Container image configuration object for the monitoring job.

Example:

// 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"

modelQualityAppSpecificationProperty := &ModelQualityAppSpecificationProperty{
	ImageUri: jsii.String("imageUri"),
	ProblemType: jsii.String("problemType"),

	// the properties below are optional
	ContainerArguments: []*string{
		jsii.String("containerArguments"),
	},
	ContainerEntrypoint: []*string{
		jsii.String("containerEntrypoint"),
	},
	Environment: map[string]*string{
		"environmentKey": jsii.String("environment"),
	},
	PostAnalyticsProcessorSourceUri: jsii.String("postAnalyticsProcessorSourceUri"),
	RecordPreprocessorSourceUri: jsii.String("recordPreprocessorSourceUri"),
}

type CfnModelQualityJobDefinition_ModelQualityBaselineConfigProperty

type CfnModelQualityJobDefinition_ModelQualityBaselineConfigProperty struct {
	// The name of the job that performs baselining for the monitoring job.
	BaseliningJobName *string `field:"optional" json:"baseliningJobName" yaml:"baseliningJobName"`
	// The constraints resource for a monitoring job.
	ConstraintsResource interface{} `field:"optional" json:"constraintsResource" yaml:"constraintsResource"`
}

Configuration for monitoring constraints and monitoring statistics.

These baseline resources are compared against the results of the current job from the series of jobs scheduled to collect data periodically.

Example:

// 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"

modelQualityBaselineConfigProperty := &ModelQualityBaselineConfigProperty{
	BaseliningJobName: jsii.String("baseliningJobName"),
	ConstraintsResource: &ConstraintsResourceProperty{
		S3Uri: jsii.String("s3Uri"),
	},
}

type CfnModelQualityJobDefinition_ModelQualityJobInputProperty

type CfnModelQualityJobDefinition_ModelQualityJobInputProperty struct {
	// The ground truth label provided for the model.
	GroundTruthS3Input interface{} `field:"required" json:"groundTruthS3Input" yaml:"groundTruthS3Input"`
	// `CfnModelQualityJobDefinition.ModelQualityJobInputProperty.BatchTransformInput`.
	BatchTransformInput interface{} `field:"optional" json:"batchTransformInput" yaml:"batchTransformInput"`
	// Input object for the endpoint.
	EndpointInput interface{} `field:"optional" json:"endpointInput" yaml:"endpointInput"`
}

The input for the model quality monitoring job.

Currently endponts are supported for input for model quality monitoring jobs.

Example:

// 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"

modelQualityJobInputProperty := &ModelQualityJobInputProperty{
	GroundTruthS3Input: &MonitoringGroundTruthS3InputProperty{
		S3Uri: jsii.String("s3Uri"),
	},

	// the properties below are optional
	BatchTransformInput: &BatchTransformInputProperty{
		DataCapturedDestinationS3Uri: jsii.String("dataCapturedDestinationS3Uri"),
		DatasetFormat: &DatasetFormatProperty{
			Csv: &CsvProperty{
				Header: jsii.Boolean(false),
			},
			Json: &JsonProperty{
				Line: jsii.Boolean(false),
			},
			Parquet: jsii.Boolean(false),
		},
		LocalPath: jsii.String("localPath"),

		// the properties below are optional
		EndTimeOffset: jsii.String("endTimeOffset"),
		InferenceAttribute: jsii.String("inferenceAttribute"),
		ProbabilityAttribute: jsii.String("probabilityAttribute"),
		ProbabilityThresholdAttribute: jsii.Number(123),
		S3DataDistributionType: jsii.String("s3DataDistributionType"),
		S3InputMode: jsii.String("s3InputMode"),
		StartTimeOffset: jsii.String("startTimeOffset"),
	},
	EndpointInput: &EndpointInputProperty{
		EndpointName: jsii.String("endpointName"),
		LocalPath: jsii.String("localPath"),

		// the properties below are optional
		EndTimeOffset: jsii.String("endTimeOffset"),
		InferenceAttribute: jsii.String("inferenceAttribute"),
		ProbabilityAttribute: jsii.String("probabilityAttribute"),
		ProbabilityThresholdAttribute: jsii.Number(123),
		S3DataDistributionType: jsii.String("s3DataDistributionType"),
		S3InputMode: jsii.String("s3InputMode"),
		StartTimeOffset: jsii.String("startTimeOffset"),
	},
}

type CfnModelQualityJobDefinition_MonitoringGroundTruthS3InputProperty

type CfnModelQualityJobDefinition_MonitoringGroundTruthS3InputProperty struct {
	// The address of the Amazon S3 location of the ground truth labels.
	S3Uri *string `field:"required" json:"s3Uri" yaml:"s3Uri"`
}

The ground truth labels for the dataset used for the monitoring job.

Example:

// 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"

monitoringGroundTruthS3InputProperty := &MonitoringGroundTruthS3InputProperty{
	S3Uri: jsii.String("s3Uri"),
}

type CfnModelQualityJobDefinition_MonitoringOutputConfigProperty

type CfnModelQualityJobDefinition_MonitoringOutputConfigProperty struct {
	// Monitoring outputs for monitoring jobs.
	//
	// This is where the output of the periodic monitoring jobs is uploaded.
	MonitoringOutputs interface{} `field:"required" json:"monitoringOutputs" yaml:"monitoringOutputs"`
	// The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt the model artifacts at rest using Amazon S3 server-side encryption.
	KmsKeyId *string `field:"optional" json:"kmsKeyId" yaml:"kmsKeyId"`
}

The output configuration for monitoring jobs.

Example:

// 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"

monitoringOutputConfigProperty := &MonitoringOutputConfigProperty{
	MonitoringOutputs: []interface{}{
		&MonitoringOutputProperty{
			S3Output: &S3OutputProperty{
				LocalPath: jsii.String("localPath"),
				S3Uri: jsii.String("s3Uri"),

				// the properties below are optional
				S3UploadMode: jsii.String("s3UploadMode"),
			},
		},
	},

	// the properties below are optional
	KmsKeyId: jsii.String("kmsKeyId"),
}

type CfnModelQualityJobDefinition_MonitoringOutputProperty

type CfnModelQualityJobDefinition_MonitoringOutputProperty struct {
	// The Amazon S3 storage location where the results of a monitoring job are saved.
	S3Output interface{} `field:"required" json:"s3Output" yaml:"s3Output"`
}

The output object for a monitoring job.

Example:

// 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"

monitoringOutputProperty := &MonitoringOutputProperty{
	S3Output: &S3OutputProperty{
		LocalPath: jsii.String("localPath"),
		S3Uri: jsii.String("s3Uri"),

		// the properties below are optional
		S3UploadMode: jsii.String("s3UploadMode"),
	},
}

type CfnModelQualityJobDefinition_MonitoringResourcesProperty

type CfnModelQualityJobDefinition_MonitoringResourcesProperty struct {
	// The configuration for the cluster resources used to run the processing job.
	ClusterConfig interface{} `field:"required" json:"clusterConfig" yaml:"clusterConfig"`
}

Identifies the resources to deploy for a monitoring job.

Example:

// 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"

monitoringResourcesProperty := &MonitoringResourcesProperty{
	ClusterConfig: &ClusterConfigProperty{
		InstanceCount: jsii.Number(123),
		InstanceType: jsii.String("instanceType"),
		VolumeSizeInGb: jsii.Number(123),

		// the properties below are optional
		VolumeKmsKeyId: jsii.String("volumeKmsKeyId"),
	},
}

type CfnModelQualityJobDefinition_NetworkConfigProperty

type CfnModelQualityJobDefinition_NetworkConfigProperty struct {
	// Whether to encrypt all communications between distributed processing jobs.
	//
	// Choose `True` to encrypt communications. Encryption provides greater security for distributed processing jobs, but the processing might take longer.
	EnableInterContainerTrafficEncryption interface{} `field:"optional" json:"enableInterContainerTrafficEncryption" yaml:"enableInterContainerTrafficEncryption"`
	// Whether to allow inbound and outbound network calls to and from the containers used for the processing job.
	EnableNetworkIsolation interface{} `field:"optional" json:"enableNetworkIsolation" yaml:"enableNetworkIsolation"`
	// Specifies a VPC that your training jobs and hosted models have access to.
	//
	// Control access to and from your training and model containers by configuring the VPC.
	VpcConfig interface{} `field:"optional" json:"vpcConfig" yaml:"vpcConfig"`
}

Networking options for a job, such as network traffic encryption between containers, whether to allow inbound and outbound network calls to and from containers, and the VPC subnets and security groups to use for VPC-enabled jobs.

Example:

// 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"

networkConfigProperty := &NetworkConfigProperty{
	EnableInterContainerTrafficEncryption: jsii.Boolean(false),
	EnableNetworkIsolation: jsii.Boolean(false),
	VpcConfig: &VpcConfigProperty{
		SecurityGroupIds: []*string{
			jsii.String("securityGroupIds"),
		},
		Subnets: []*string{
			jsii.String("subnets"),
		},
	},
}

type CfnModelQualityJobDefinition_S3OutputProperty

type CfnModelQualityJobDefinition_S3OutputProperty struct {
	// The local path to the Amazon S3 storage location where Amazon SageMaker saves the results of a monitoring job.
	//
	// LocalPath is an absolute path for the output data.
	LocalPath *string `field:"required" json:"localPath" yaml:"localPath"`
	// A URI that identifies the Amazon S3 storage location where Amazon SageMaker saves the results of a monitoring job.
	S3Uri *string `field:"required" json:"s3Uri" yaml:"s3Uri"`
	// Whether to upload the results of the monitoring job continuously or after the job completes.
	S3UploadMode *string `field:"optional" json:"s3UploadMode" yaml:"s3UploadMode"`
}

The Amazon S3 storage location where the results of a monitoring job are saved.

Example:

// 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"

s3OutputProperty := &S3OutputProperty{
	LocalPath: jsii.String("localPath"),
	S3Uri: jsii.String("s3Uri"),

	// the properties below are optional
	S3UploadMode: jsii.String("s3UploadMode"),
}

type CfnModelQualityJobDefinition_StoppingConditionProperty

type CfnModelQualityJobDefinition_StoppingConditionProperty struct {
	// The maximum length of time, in seconds, that a training or compilation job can run before it is stopped.
	//
	// For compilation jobs, if the job does not complete during this time, a `TimeOut` error is generated. We recommend starting with 900 seconds and increasing as necessary based on your model.
	//
	// For all other jobs, if the job does not complete during this time, SageMaker ends the job. When `RetryStrategy` is specified in the job request, `MaxRuntimeInSeconds` specifies the maximum time for all of the attempts in total, not each individual attempt. The default value is 1 day. The maximum value is 28 days.
	//
	// The maximum time that a `TrainingJob` can run in total, including any time spent publishing metrics or archiving and uploading models after it has been stopped, is 30 days.
	MaxRuntimeInSeconds *float64 `field:"required" json:"maxRuntimeInSeconds" yaml:"maxRuntimeInSeconds"`
}

Specifies a limit to how long a model training job or model compilation job can run.

It also specifies how long a managed spot training job has to complete. When the job reaches the time limit, SageMaker ends the training or compilation job. Use this API to cap model training costs.

To stop a training job, SageMaker sends the algorithm the `SIGTERM` signal, which delays job termination for 120 seconds. Algorithms can use this 120-second window to save the model artifacts, so the results of training are not lost.

The training algorithms provided by SageMaker automatically save the intermediate results of a model training job when possible. This attempt to save artifacts is only a best effort case as model might not be in a state from which it can be saved. For example, if training has just started, the model might not be ready to save. When saved, this intermediate data is a valid model artifact. You can use it to create a model with `CreateModel` .

> The Neural Topic Model (NTM) currently does not support saving intermediate model artifacts. When training NTMs, make sure that the maximum runtime is sufficient for the training job to complete.

Example:

// 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"

stoppingConditionProperty := &StoppingConditionProperty{
	MaxRuntimeInSeconds: jsii.Number(123),
}

type CfnModelQualityJobDefinition_VpcConfigProperty

type CfnModelQualityJobDefinition_VpcConfigProperty struct {
	// The VPC security group IDs, in the form sg-xxxxxxxx.
	//
	// Specify the security groups for the VPC that is specified in the `Subnets` field.
	SecurityGroupIds *[]*string `field:"required" json:"securityGroupIds" yaml:"securityGroupIds"`
	// The ID of the subnets in the VPC to which you want to connect your training job or model.
	//
	// For information about the availability of specific instance types, see [Supported Instance Types and Availability Zones](https://docs.aws.amazon.com/sagemaker/latest/dg/instance-types-az.html) .
	Subnets *[]*string `field:"required" json:"subnets" yaml:"subnets"`
}

Specifies a VPC that your training jobs and hosted models have access to.

Control access to and from your training and model containers by configuring the VPC. For more information, see [Protect Endpoints by Using an Amazon Virtual Private Cloud](https://docs.aws.amazon.com/sagemaker/latest/dg/host-vpc.html) and [Protect Training Jobs by Using an Amazon Virtual Private Cloud](https://docs.aws.amazon.com/sagemaker/latest/dg/train-vpc.html) .

Example:

// 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"

vpcConfigProperty := &VpcConfigProperty{
	SecurityGroupIds: []*string{
		jsii.String("securityGroupIds"),
	},
	Subnets: []*string{
		jsii.String("subnets"),
	},
}

type CfnModel_ContainerDefinitionProperty

type CfnModel_ContainerDefinitionProperty struct {
	// This parameter is ignored for models that contain only a `PrimaryContainer` .
	//
	// When a `ContainerDefinition` is part of an inference pipeline, the value of the parameter uniquely identifies the container for the purposes of logging and metrics. For information, see [Use Logs and Metrics to Monitor an Inference Pipeline](https://docs.aws.amazon.com/sagemaker/latest/dg/inference-pipeline-logs-metrics.html) . If you don't specify a value for this parameter for a `ContainerDefinition` that is part of an inference pipeline, a unique name is automatically assigned based on the position of the `ContainerDefinition` in the pipeline. If you specify a value for the `ContainerHostName` for any `ContainerDefinition` that is part of an inference pipeline, you must specify a value for the `ContainerHostName` parameter of every `ContainerDefinition` in that pipeline.
	ContainerHostname *string `field:"optional" json:"containerHostname" yaml:"containerHostname"`
	// The environment variables to set in the Docker container.
	//
	// Each key and value in the `Environment` string to string map can have length of up to 1024. We support up to 16 entries in the map.
	Environment interface{} `field:"optional" json:"environment" yaml:"environment"`
	// The path where inference code is stored.
	//
	// This can be either in Amazon EC2 Container Registry or in a Docker registry that is accessible from the same VPC that you configure for your endpoint. If you are using your own custom algorithm instead of an algorithm provided by SageMaker, the inference code must meet SageMaker requirements. SageMaker supports both `registry/repository[:tag]` and `registry/repository[@digest]` image path formats. For more information, see [Using Your Own Algorithms with Amazon SageMaker](https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms.html) .
	//
	// > The model artifacts in an Amazon S3 bucket and the Docker image for inference container in Amazon EC2 Container Registry must be in the same region as the model or endpoint you are creating.
	Image *string `field:"optional" json:"image" yaml:"image"`
	// Specifies whether the model container is in Amazon ECR or a private Docker registry accessible from your Amazon Virtual Private Cloud (VPC).
	//
	// For information about storing containers in a private Docker registry, see [Use a Private Docker Registry for Real-Time Inference Containers](https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms-containers-inference-private.html) .
	//
	// > The model artifacts in an Amazon S3 bucket and the Docker image for inference container in Amazon EC2 Container Registry must be in the same region as the model or endpoint you are creating.
	ImageConfig interface{} `field:"optional" json:"imageConfig" yaml:"imageConfig"`
	// The inference specification name in the model package version.
	InferenceSpecificationName *string `field:"optional" json:"inferenceSpecificationName" yaml:"inferenceSpecificationName"`
	// Whether the container hosts a single model or multiple models.
	Mode *string `field:"optional" json:"mode" yaml:"mode"`
	// The S3 path where the model artifacts, which result from model training, are stored.
	//
	// This path must point to a single gzip compressed tar archive (.tar.gz suffix). The S3 path is required for SageMaker built-in algorithms, but not if you use your own algorithms. For more information on built-in algorithms, see [Common Parameters](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-algo-docker-registry-paths.html) .
	//
	// > The model artifacts must be in an S3 bucket that is in the same region as the model or endpoint you are creating.
	//
	// If you provide a value for this parameter, SageMaker uses AWS Security Token Service to download model artifacts from the S3 path you provide. AWS STS is activated in your AWS account by default. If you previously deactivated AWS STS for a region, you need to reactivate AWS STS for that region. For more information, see [Activating and Deactivating AWS STS in an AWS Region](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) in the *AWS Identity and Access Management User Guide* .
	//
	// > If you use a built-in algorithm to create a model, SageMaker requires that you provide a S3 path to the model artifacts in `ModelDataUrl` .
	ModelDataUrl *string `field:"optional" json:"modelDataUrl" yaml:"modelDataUrl"`
	// The name or Amazon Resource Name (ARN) of the model package to use to create the model.
	ModelPackageName *string `field:"optional" json:"modelPackageName" yaml:"modelPackageName"`
	// Specifies additional configuration for multi-model endpoints.
	MultiModelConfig interface{} `field:"optional" json:"multiModelConfig" yaml:"multiModelConfig"`
}

Describes the container, as part of model definition.

Example:

// 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"

var environment interface{}

containerDefinitionProperty := &ContainerDefinitionProperty{
	ContainerHostname: jsii.String("containerHostname"),
	Environment: environment,
	Image: jsii.String("image"),
	ImageConfig: &ImageConfigProperty{
		RepositoryAccessMode: jsii.String("repositoryAccessMode"),

		// the properties below are optional
		RepositoryAuthConfig: &RepositoryAuthConfigProperty{
			RepositoryCredentialsProviderArn: jsii.String("repositoryCredentialsProviderArn"),
		},
	},
	InferenceSpecificationName: jsii.String("inferenceSpecificationName"),
	Mode: jsii.String("mode"),
	ModelDataUrl: jsii.String("modelDataUrl"),
	ModelPackageName: jsii.String("modelPackageName"),
	MultiModelConfig: &MultiModelConfigProperty{
		ModelCacheSetting: jsii.String("modelCacheSetting"),
	},
}

type CfnModel_ImageConfigProperty

type CfnModel_ImageConfigProperty struct {
	// Set this to one of the following values:.
	//
	// - `Platform` - The model image is hosted in Amazon ECR.
	// - `Vpc` - The model image is hosted in a private Docker registry in your VPC.
	RepositoryAccessMode *string `field:"required" json:"repositoryAccessMode" yaml:"repositoryAccessMode"`
	// (Optional) Specifies an authentication configuration for the private docker registry where your model image is hosted.
	//
	// Specify a value for this property only if you specified `Vpc` as the value for the `RepositoryAccessMode` field, and the private Docker registry where the model image is hosted requires authentication.
	RepositoryAuthConfig interface{} `field:"optional" json:"repositoryAuthConfig" yaml:"repositoryAuthConfig"`
}

Specifies whether the model container is in Amazon ECR or a private Docker registry accessible from your Amazon Virtual Private Cloud (VPC).

Example:

// 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"

imageConfigProperty := &ImageConfigProperty{
	RepositoryAccessMode: jsii.String("repositoryAccessMode"),

	// the properties below are optional
	RepositoryAuthConfig: &RepositoryAuthConfigProperty{
		RepositoryCredentialsProviderArn: jsii.String("repositoryCredentialsProviderArn"),
	},
}

type CfnModel_InferenceExecutionConfigProperty

type CfnModel_InferenceExecutionConfigProperty struct {
	// How containers in a multi-container are run. The following values are valid.
	//
	// - `Serial` - Containers run as a serial pipeline.
	// - `Direct` - Only the individual container that you specify is run.
	Mode *string `field:"required" json:"mode" yaml:"mode"`
}

Specifies details about how containers in a multi-container endpoint are run.

Example:

// 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"

inferenceExecutionConfigProperty := &InferenceExecutionConfigProperty{
	Mode: jsii.String("mode"),
}

type CfnModel_MultiModelConfigProperty

type CfnModel_MultiModelConfigProperty struct {
	// Whether to cache models for a multi-model endpoint.
	//
	// By default, multi-model endpoints cache models so that a model does not have to be loaded into memory each time it is invoked. Some use cases do not benefit from model caching. For example, if an endpoint hosts a large number of models that are each invoked infrequently, the endpoint might perform better if you disable model caching. To disable model caching, set the value of this parameter to Disabled.
	ModelCacheSetting *string `field:"optional" json:"modelCacheSetting" yaml:"modelCacheSetting"`
}

Specifies additional configuration for hosting multi-model endpoints.

Example:

// 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"

multiModelConfigProperty := &MultiModelConfigProperty{
	ModelCacheSetting: jsii.String("modelCacheSetting"),
}

type CfnModel_RepositoryAuthConfigProperty

type CfnModel_RepositoryAuthConfigProperty struct {
	// The Amazon Resource Name (ARN) of an AWS Lambda function that provides credentials to authenticate to the private Docker registry where your model image is hosted.
	//
	// For information about how to create an AWS Lambda function, see [Create a Lambda function with the console](https://docs.aws.amazon.com/lambda/latest/dg/getting-started-create-function.html) in the *AWS Lambda Developer Guide* .
	RepositoryCredentialsProviderArn *string `field:"required" json:"repositoryCredentialsProviderArn" yaml:"repositoryCredentialsProviderArn"`
}

Specifies an authentication configuration for the private docker registry where your model image is hosted.

Specify a value for this property only if you specified `Vpc` as the value for the `RepositoryAccessMode` field of the `ImageConfig` object that you passed to a call to `CreateModel` and the private Docker registry where the model image is hosted requires authentication.

Example:

// 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"

repositoryAuthConfigProperty := &RepositoryAuthConfigProperty{
	RepositoryCredentialsProviderArn: jsii.String("repositoryCredentialsProviderArn"),
}

type CfnModel_VpcConfigProperty

type CfnModel_VpcConfigProperty struct {
	// The VPC security group IDs, in the form sg-xxxxxxxx.
	//
	// Specify the security groups for the VPC that is specified in the `Subnets` field.
	SecurityGroupIds *[]*string `field:"required" json:"securityGroupIds" yaml:"securityGroupIds"`
	// The ID of the subnets in the VPC to which you want to connect your training job or model.
	//
	// For information about the availability of specific instance types, see [Supported Instance Types and Availability Zones](https://docs.aws.amazon.com/sagemaker/latest/dg/instance-types-az.html) .
	Subnets *[]*string `field:"required" json:"subnets" yaml:"subnets"`
}

Specifies a VPC that your training jobs and hosted models have access to.

Control access to and from your training and model containers by configuring the VPC. For more information, see [Protect Endpoints by Using an Amazon Virtual Private Cloud](https://docs.aws.amazon.com/sagemaker/latest/dg/host-vpc.html) and [Protect Training Jobs by Using an Amazon Virtual Private Cloud](https://docs.aws.amazon.com/sagemaker/latest/dg/train-vpc.html) .

Example:

// 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"

vpcConfigProperty := &VpcConfigProperty{
	SecurityGroupIds: []*string{
		jsii.String("securityGroupIds"),
	},
	Subnets: []*string{
		jsii.String("subnets"),
	},
}

type CfnMonitoringSchedule

type CfnMonitoringSchedule interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// The time when the monitoring schedule was created.
	AttrCreationTime() *string
	// The last time that the monitoring schedule was modified.
	AttrLastModifiedTime() *string
	// The Amazon Resource Name (ARN) of the monitoring schedule.
	AttrMonitoringScheduleArn() *string
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// The name of the endpoint using the monitoring schedule.
	EndpointName() *string
	SetEndpointName(val *string)
	// Contains the reason a monitoring job failed, if it failed.
	FailureReason() *string
	SetFailureReason(val *string)
	// Describes metadata on the last execution to run, if there was one.
	LastMonitoringExecutionSummary() interface{}
	SetLastMonitoringExecutionSummary(val interface{})
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The configuration object that specifies the monitoring schedule and defines the monitoring job.
	MonitoringScheduleConfig() interface{}
	SetMonitoringScheduleConfig(val interface{})
	// The name of the monitoring schedule.
	MonitoringScheduleName() *string
	SetMonitoringScheduleName(val *string)
	// The status of the monitoring schedule.
	MonitoringScheduleStatus() *string
	SetMonitoringScheduleStatus(val *string)
	// The tree node.
	Node() constructs.Node
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// An array of key-value pairs to apply to this resource.
	//
	// For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .
	Tags() awscdk.TagManager
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// 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`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::SageMaker::MonitoringSchedule`.

The `AWS::SageMaker::MonitoringSchedule` resource is an Amazon SageMaker resource type that regularly starts SageMaker processing Jobs to monitor the data captured for a SageMaker endpoint.

Example:

// 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"

cfnMonitoringSchedule := awscdk.Aws_sagemaker.NewCfnMonitoringSchedule(this, jsii.String("MyCfnMonitoringSchedule"), &CfnMonitoringScheduleProps{
	MonitoringScheduleConfig: &MonitoringScheduleConfigProperty{
		MonitoringJobDefinition: &MonitoringJobDefinitionProperty{
			MonitoringAppSpecification: &MonitoringAppSpecificationProperty{
				ImageUri: jsii.String("imageUri"),

				// the properties below are optional
				ContainerArguments: []*string{
					jsii.String("containerArguments"),
				},
				ContainerEntrypoint: []*string{
					jsii.String("containerEntrypoint"),
				},
				PostAnalyticsProcessorSourceUri: jsii.String("postAnalyticsProcessorSourceUri"),
				RecordPreprocessorSourceUri: jsii.String("recordPreprocessorSourceUri"),
			},
			MonitoringInputs: []interface{}{
				&MonitoringInputProperty{
					BatchTransformInput: &BatchTransformInputProperty{
						DataCapturedDestinationS3Uri: jsii.String("dataCapturedDestinationS3Uri"),
						DatasetFormat: &DatasetFormatProperty{
							Csv: &CsvProperty{
								Header: jsii.Boolean(false),
							},
							Json: &JsonProperty{
								Line: jsii.Boolean(false),
							},
							Parquet: jsii.Boolean(false),
						},
						LocalPath: jsii.String("localPath"),

						// the properties below are optional
						S3DataDistributionType: jsii.String("s3DataDistributionType"),
						S3InputMode: jsii.String("s3InputMode"),
					},
					EndpointInput: &EndpointInputProperty{
						EndpointName: jsii.String("endpointName"),
						LocalPath: jsii.String("localPath"),

						// the properties below are optional
						S3DataDistributionType: jsii.String("s3DataDistributionType"),
						S3InputMode: jsii.String("s3InputMode"),
					},
				},
			},
			MonitoringOutputConfig: &MonitoringOutputConfigProperty{
				MonitoringOutputs: []interface{}{
					&MonitoringOutputProperty{
						S3Output: &S3OutputProperty{
							LocalPath: jsii.String("localPath"),
							S3Uri: jsii.String("s3Uri"),

							// the properties below are optional
							S3UploadMode: jsii.String("s3UploadMode"),
						},
					},
				},

				// the properties below are optional
				KmsKeyId: jsii.String("kmsKeyId"),
			},
			MonitoringResources: &MonitoringResourcesProperty{
				ClusterConfig: &ClusterConfigProperty{
					InstanceCount: jsii.Number(123),
					InstanceType: jsii.String("instanceType"),
					VolumeSizeInGb: jsii.Number(123),

					// the properties below are optional
					VolumeKmsKeyId: jsii.String("volumeKmsKeyId"),
				},
			},
			RoleArn: jsii.String("roleArn"),

			// the properties below are optional
			BaselineConfig: &BaselineConfigProperty{
				ConstraintsResource: &ConstraintsResourceProperty{
					S3Uri: jsii.String("s3Uri"),
				},
				StatisticsResource: &StatisticsResourceProperty{
					S3Uri: jsii.String("s3Uri"),
				},
			},
			Environment: map[string]*string{
				"environmentKey": jsii.String("environment"),
			},
			NetworkConfig: &NetworkConfigProperty{
				EnableInterContainerTrafficEncryption: jsii.Boolean(false),
				EnableNetworkIsolation: jsii.Boolean(false),
				VpcConfig: &VpcConfigProperty{
					SecurityGroupIds: []*string{
						jsii.String("securityGroupIds"),
					},
					Subnets: []*string{
						jsii.String("subnets"),
					},
				},
			},
			StoppingCondition: &StoppingConditionProperty{
				MaxRuntimeInSeconds: jsii.Number(123),
			},
		},
		MonitoringJobDefinitionName: jsii.String("monitoringJobDefinitionName"),
		MonitoringType: jsii.String("monitoringType"),
		ScheduleConfig: &ScheduleConfigProperty{
			ScheduleExpression: jsii.String("scheduleExpression"),
		},
	},
	MonitoringScheduleName: jsii.String("monitoringScheduleName"),

	// the properties below are optional
	EndpointName: jsii.String("endpointName"),
	FailureReason: jsii.String("failureReason"),
	LastMonitoringExecutionSummary: &MonitoringExecutionSummaryProperty{
		CreationTime: jsii.String("creationTime"),
		LastModifiedTime: jsii.String("lastModifiedTime"),
		MonitoringExecutionStatus: jsii.String("monitoringExecutionStatus"),
		MonitoringScheduleName: jsii.String("monitoringScheduleName"),
		ScheduledTime: jsii.String("scheduledTime"),

		// the properties below are optional
		EndpointName: jsii.String("endpointName"),
		FailureReason: jsii.String("failureReason"),
		ProcessingJobArn: jsii.String("processingJobArn"),
	},
	MonitoringScheduleStatus: jsii.String("monitoringScheduleStatus"),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
})

func NewCfnMonitoringSchedule

func NewCfnMonitoringSchedule(scope constructs.Construct, id *string, props *CfnMonitoringScheduleProps) CfnMonitoringSchedule

Create a new `AWS::SageMaker::MonitoringSchedule`.

type CfnMonitoringScheduleProps

type CfnMonitoringScheduleProps struct {
	// The configuration object that specifies the monitoring schedule and defines the monitoring job.
	MonitoringScheduleConfig interface{} `field:"required" json:"monitoringScheduleConfig" yaml:"monitoringScheduleConfig"`
	// The name of the monitoring schedule.
	MonitoringScheduleName *string `field:"required" json:"monitoringScheduleName" yaml:"monitoringScheduleName"`
	// The name of the endpoint using the monitoring schedule.
	EndpointName *string `field:"optional" json:"endpointName" yaml:"endpointName"`
	// Contains the reason a monitoring job failed, if it failed.
	FailureReason *string `field:"optional" json:"failureReason" yaml:"failureReason"`
	// Describes metadata on the last execution to run, if there was one.
	LastMonitoringExecutionSummary interface{} `field:"optional" json:"lastMonitoringExecutionSummary" yaml:"lastMonitoringExecutionSummary"`
	// The status of the monitoring schedule.
	MonitoringScheduleStatus *string `field:"optional" json:"monitoringScheduleStatus" yaml:"monitoringScheduleStatus"`
	// An array of key-value pairs to apply to this resource.
	//
	// For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
}

Properties for defining a `CfnMonitoringSchedule`.

Example:

// 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"

cfnMonitoringScheduleProps := &CfnMonitoringScheduleProps{
	MonitoringScheduleConfig: &MonitoringScheduleConfigProperty{
		MonitoringJobDefinition: &MonitoringJobDefinitionProperty{
			MonitoringAppSpecification: &MonitoringAppSpecificationProperty{
				ImageUri: jsii.String("imageUri"),

				// the properties below are optional
				ContainerArguments: []*string{
					jsii.String("containerArguments"),
				},
				ContainerEntrypoint: []*string{
					jsii.String("containerEntrypoint"),
				},
				PostAnalyticsProcessorSourceUri: jsii.String("postAnalyticsProcessorSourceUri"),
				RecordPreprocessorSourceUri: jsii.String("recordPreprocessorSourceUri"),
			},
			MonitoringInputs: []interface{}{
				&MonitoringInputProperty{
					BatchTransformInput: &BatchTransformInputProperty{
						DataCapturedDestinationS3Uri: jsii.String("dataCapturedDestinationS3Uri"),
						DatasetFormat: &DatasetFormatProperty{
							Csv: &CsvProperty{
								Header: jsii.Boolean(false),
							},
							Json: &JsonProperty{
								Line: jsii.Boolean(false),
							},
							Parquet: jsii.Boolean(false),
						},
						LocalPath: jsii.String("localPath"),

						// the properties below are optional
						S3DataDistributionType: jsii.String("s3DataDistributionType"),
						S3InputMode: jsii.String("s3InputMode"),
					},
					EndpointInput: &EndpointInputProperty{
						EndpointName: jsii.String("endpointName"),
						LocalPath: jsii.String("localPath"),

						// the properties below are optional
						S3DataDistributionType: jsii.String("s3DataDistributionType"),
						S3InputMode: jsii.String("s3InputMode"),
					},
				},
			},
			MonitoringOutputConfig: &MonitoringOutputConfigProperty{
				MonitoringOutputs: []interface{}{
					&MonitoringOutputProperty{
						S3Output: &S3OutputProperty{
							LocalPath: jsii.String("localPath"),
							S3Uri: jsii.String("s3Uri"),

							// the properties below are optional
							S3UploadMode: jsii.String("s3UploadMode"),
						},
					},
				},

				// the properties below are optional
				KmsKeyId: jsii.String("kmsKeyId"),
			},
			MonitoringResources: &MonitoringResourcesProperty{
				ClusterConfig: &ClusterConfigProperty{
					InstanceCount: jsii.Number(123),
					InstanceType: jsii.String("instanceType"),
					VolumeSizeInGb: jsii.Number(123),

					// the properties below are optional
					VolumeKmsKeyId: jsii.String("volumeKmsKeyId"),
				},
			},
			RoleArn: jsii.String("roleArn"),

			// the properties below are optional
			BaselineConfig: &BaselineConfigProperty{
				ConstraintsResource: &ConstraintsResourceProperty{
					S3Uri: jsii.String("s3Uri"),
				},
				StatisticsResource: &StatisticsResourceProperty{
					S3Uri: jsii.String("s3Uri"),
				},
			},
			Environment: map[string]*string{
				"environmentKey": jsii.String("environment"),
			},
			NetworkConfig: &NetworkConfigProperty{
				EnableInterContainerTrafficEncryption: jsii.Boolean(false),
				EnableNetworkIsolation: jsii.Boolean(false),
				VpcConfig: &VpcConfigProperty{
					SecurityGroupIds: []*string{
						jsii.String("securityGroupIds"),
					},
					Subnets: []*string{
						jsii.String("subnets"),
					},
				},
			},
			StoppingCondition: &StoppingConditionProperty{
				MaxRuntimeInSeconds: jsii.Number(123),
			},
		},
		MonitoringJobDefinitionName: jsii.String("monitoringJobDefinitionName"),
		MonitoringType: jsii.String("monitoringType"),
		ScheduleConfig: &ScheduleConfigProperty{
			ScheduleExpression: jsii.String("scheduleExpression"),
		},
	},
	MonitoringScheduleName: jsii.String("monitoringScheduleName"),

	// the properties below are optional
	EndpointName: jsii.String("endpointName"),
	FailureReason: jsii.String("failureReason"),
	LastMonitoringExecutionSummary: &MonitoringExecutionSummaryProperty{
		CreationTime: jsii.String("creationTime"),
		LastModifiedTime: jsii.String("lastModifiedTime"),
		MonitoringExecutionStatus: jsii.String("monitoringExecutionStatus"),
		MonitoringScheduleName: jsii.String("monitoringScheduleName"),
		ScheduledTime: jsii.String("scheduledTime"),

		// the properties below are optional
		EndpointName: jsii.String("endpointName"),
		FailureReason: jsii.String("failureReason"),
		ProcessingJobArn: jsii.String("processingJobArn"),
	},
	MonitoringScheduleStatus: jsii.String("monitoringScheduleStatus"),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
}

type CfnMonitoringSchedule_BaselineConfigProperty

type CfnMonitoringSchedule_BaselineConfigProperty struct {
	// The Amazon S3 URI for the constraints resource.
	ConstraintsResource interface{} `field:"optional" json:"constraintsResource" yaml:"constraintsResource"`
	// The baseline statistics file in Amazon S3 that the current monitoring job should be validated against.
	StatisticsResource interface{} `field:"optional" json:"statisticsResource" yaml:"statisticsResource"`
}

Baseline configuration used to validate that the data conforms to the specified constraints and statistics.

Example:

// 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"

baselineConfigProperty := &BaselineConfigProperty{
	ConstraintsResource: &ConstraintsResourceProperty{
		S3Uri: jsii.String("s3Uri"),
	},
	StatisticsResource: &StatisticsResourceProperty{
		S3Uri: jsii.String("s3Uri"),
	},
}

type CfnMonitoringSchedule_BatchTransformInputProperty added in v2.48.0

type CfnMonitoringSchedule_BatchTransformInputProperty struct {
	// `CfnMonitoringSchedule.BatchTransformInputProperty.DataCapturedDestinationS3Uri`.
	DataCapturedDestinationS3Uri *string `field:"required" json:"dataCapturedDestinationS3Uri" yaml:"dataCapturedDestinationS3Uri"`
	// `CfnMonitoringSchedule.BatchTransformInputProperty.DatasetFormat`.
	DatasetFormat interface{} `field:"required" json:"datasetFormat" yaml:"datasetFormat"`
	// `CfnMonitoringSchedule.BatchTransformInputProperty.LocalPath`.
	LocalPath *string `field:"required" json:"localPath" yaml:"localPath"`
	// `CfnMonitoringSchedule.BatchTransformInputProperty.S3DataDistributionType`.
	S3DataDistributionType *string `field:"optional" json:"s3DataDistributionType" yaml:"s3DataDistributionType"`
	// `CfnMonitoringSchedule.BatchTransformInputProperty.S3InputMode`.
	S3InputMode *string `field:"optional" json:"s3InputMode" yaml:"s3InputMode"`
}

Example:

// 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"

batchTransformInputProperty := &BatchTransformInputProperty{
	DataCapturedDestinationS3Uri: jsii.String("dataCapturedDestinationS3Uri"),
	DatasetFormat: &DatasetFormatProperty{
		Csv: &CsvProperty{
			Header: jsii.Boolean(false),
		},
		Json: &JsonProperty{
			Line: jsii.Boolean(false),
		},
		Parquet: jsii.Boolean(false),
	},
	LocalPath: jsii.String("localPath"),

	// the properties below are optional
	S3DataDistributionType: jsii.String("s3DataDistributionType"),
	S3InputMode: jsii.String("s3InputMode"),
}

type CfnMonitoringSchedule_ClusterConfigProperty

type CfnMonitoringSchedule_ClusterConfigProperty struct {
	// The number of ML compute instances to use in the model monitoring job.
	//
	// For distributed processing jobs, specify a value greater than 1. The default value is 1.
	InstanceCount *float64 `field:"required" json:"instanceCount" yaml:"instanceCount"`
	// The ML compute instance type for the processing job.
	InstanceType *string `field:"required" json:"instanceType" yaml:"instanceType"`
	// The size of the ML storage volume, in gigabytes, that you want to provision.
	//
	// You must specify sufficient ML storage for your scenario.
	VolumeSizeInGb *float64 `field:"required" json:"volumeSizeInGb" yaml:"volumeSizeInGb"`
	// The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance(s) that run the model monitoring job.
	VolumeKmsKeyId *string `field:"optional" json:"volumeKmsKeyId" yaml:"volumeKmsKeyId"`
}

Configuration for the cluster used to run model monitoring jobs.

Example:

// 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"

clusterConfigProperty := &ClusterConfigProperty{
	InstanceCount: jsii.Number(123),
	InstanceType: jsii.String("instanceType"),
	VolumeSizeInGb: jsii.Number(123),

	// the properties below are optional
	VolumeKmsKeyId: jsii.String("volumeKmsKeyId"),
}

type CfnMonitoringSchedule_ConstraintsResourceProperty

type CfnMonitoringSchedule_ConstraintsResourceProperty struct {
	// The Amazon S3 URI for the constraints resource.
	S3Uri *string `field:"optional" json:"s3Uri" yaml:"s3Uri"`
}

The Amazon S3 URI for the constraints resource.

Example:

// 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"

constraintsResourceProperty := &ConstraintsResourceProperty{
	S3Uri: jsii.String("s3Uri"),
}

type CfnMonitoringSchedule_CsvProperty added in v2.48.0

type CfnMonitoringSchedule_CsvProperty struct {
	// `CfnMonitoringSchedule.CsvProperty.Header`.
	Header interface{} `field:"optional" json:"header" yaml:"header"`
}

Example:

// 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"

csvProperty := &CsvProperty{
	Header: jsii.Boolean(false),
}

type CfnMonitoringSchedule_DatasetFormatProperty added in v2.48.0

type CfnMonitoringSchedule_DatasetFormatProperty struct {
	// `CfnMonitoringSchedule.DatasetFormatProperty.Csv`.
	Csv interface{} `field:"optional" json:"csv" yaml:"csv"`
	// `CfnMonitoringSchedule.DatasetFormatProperty.Json`.
	Json interface{} `field:"optional" json:"json" yaml:"json"`
	// `CfnMonitoringSchedule.DatasetFormatProperty.Parquet`.
	Parquet interface{} `field:"optional" json:"parquet" yaml:"parquet"`
}

Example:

// 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"

datasetFormatProperty := &DatasetFormatProperty{
	Csv: &CsvProperty{
		Header: jsii.Boolean(false),
	},
	Json: &JsonProperty{
		Line: jsii.Boolean(false),
	},
	Parquet: jsii.Boolean(false),
}

type CfnMonitoringSchedule_EndpointInputProperty

type CfnMonitoringSchedule_EndpointInputProperty struct {
	// An endpoint in customer's account which has enabled `DataCaptureConfig` enabled.
	EndpointName *string `field:"required" json:"endpointName" yaml:"endpointName"`
	// Path to the filesystem where the endpoint data is available to the container.
	LocalPath *string `field:"required" json:"localPath" yaml:"localPath"`
	// Whether input data distributed in Amazon S3 is fully replicated or sharded by an S3 key.
	//
	// Defaults to `FullyReplicated`.
	S3DataDistributionType *string `field:"optional" json:"s3DataDistributionType" yaml:"s3DataDistributionType"`
	// Whether the `Pipe` or `File` is used as the input mode for transferring data for the monitoring job.
	//
	// `Pipe` mode is recommended for large datasets. `File` mode is useful for small files that fit in memory. Defaults to `File` .
	S3InputMode *string `field:"optional" json:"s3InputMode" yaml:"s3InputMode"`
}

Input object for the endpoint.

Example:

// 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"

endpointInputProperty := &EndpointInputProperty{
	EndpointName: jsii.String("endpointName"),
	LocalPath: jsii.String("localPath"),

	// the properties below are optional
	S3DataDistributionType: jsii.String("s3DataDistributionType"),
	S3InputMode: jsii.String("s3InputMode"),
}

type CfnMonitoringSchedule_JsonProperty added in v2.48.0

type CfnMonitoringSchedule_JsonProperty struct {
	// `CfnMonitoringSchedule.JsonProperty.Line`.
	Line interface{} `field:"optional" json:"line" yaml:"line"`
}

Example:

// 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"

jsonProperty := &JsonProperty{
	Line: jsii.Boolean(false),
}

type CfnMonitoringSchedule_MonitoringAppSpecificationProperty

type CfnMonitoringSchedule_MonitoringAppSpecificationProperty struct {
	// The container image to be run by the monitoring job.
	ImageUri *string `field:"required" json:"imageUri" yaml:"imageUri"`
	// An array of arguments for the container used to run the monitoring job.
	ContainerArguments *[]*string `field:"optional" json:"containerArguments" yaml:"containerArguments"`
	// Specifies the entrypoint for a container used to run the monitoring job.
	ContainerEntrypoint *[]*string `field:"optional" json:"containerEntrypoint" yaml:"containerEntrypoint"`
	// An Amazon S3 URI to a script that is called after analysis has been performed.
	//
	// Applicable only for the built-in (first party) containers.
	PostAnalyticsProcessorSourceUri *string `field:"optional" json:"postAnalyticsProcessorSourceUri" yaml:"postAnalyticsProcessorSourceUri"`
	// An Amazon S3 URI to a script that is called per row prior to running analysis.
	//
	// It can base64 decode the payload and convert it into a flatted json so that the built-in container can use the converted data. Applicable only for the built-in (first party) containers.
	RecordPreprocessorSourceUri *string `field:"optional" json:"recordPreprocessorSourceUri" yaml:"recordPreprocessorSourceUri"`
}

Container image configuration object for the monitoring job.

Example:

// 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"

monitoringAppSpecificationProperty := &MonitoringAppSpecificationProperty{
	ImageUri: jsii.String("imageUri"),

	// the properties below are optional
	ContainerArguments: []*string{
		jsii.String("containerArguments"),
	},
	ContainerEntrypoint: []*string{
		jsii.String("containerEntrypoint"),
	},
	PostAnalyticsProcessorSourceUri: jsii.String("postAnalyticsProcessorSourceUri"),
	RecordPreprocessorSourceUri: jsii.String("recordPreprocessorSourceUri"),
}

type CfnMonitoringSchedule_MonitoringExecutionSummaryProperty

type CfnMonitoringSchedule_MonitoringExecutionSummaryProperty struct {
	// The time at which the monitoring job was created.
	CreationTime *string `field:"required" json:"creationTime" yaml:"creationTime"`
	// A timestamp that indicates the last time the monitoring job was modified.
	LastModifiedTime *string `field:"required" json:"lastModifiedTime" yaml:"lastModifiedTime"`
	// The status of the monitoring job.
	MonitoringExecutionStatus *string `field:"required" json:"monitoringExecutionStatus" yaml:"monitoringExecutionStatus"`
	// The name of the monitoring schedule.
	MonitoringScheduleName *string `field:"required" json:"monitoringScheduleName" yaml:"monitoringScheduleName"`
	// The time the monitoring job was scheduled.
	ScheduledTime *string `field:"required" json:"scheduledTime" yaml:"scheduledTime"`
	// The name of the endpoint used to run the monitoring job.
	EndpointName *string `field:"optional" json:"endpointName" yaml:"endpointName"`
	// Contains the reason a monitoring job failed, if it failed.
	FailureReason *string `field:"optional" json:"failureReason" yaml:"failureReason"`
	// The Amazon Resource Name (ARN) of the monitoring job.
	ProcessingJobArn *string `field:"optional" json:"processingJobArn" yaml:"processingJobArn"`
}

Summary of information about the last monitoring job to run.

Example:

// 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"

monitoringExecutionSummaryProperty := &MonitoringExecutionSummaryProperty{
	CreationTime: jsii.String("creationTime"),
	LastModifiedTime: jsii.String("lastModifiedTime"),
	MonitoringExecutionStatus: jsii.String("monitoringExecutionStatus"),
	MonitoringScheduleName: jsii.String("monitoringScheduleName"),
	ScheduledTime: jsii.String("scheduledTime"),

	// the properties below are optional
	EndpointName: jsii.String("endpointName"),
	FailureReason: jsii.String("failureReason"),
	ProcessingJobArn: jsii.String("processingJobArn"),
}

type CfnMonitoringSchedule_MonitoringInputProperty

type CfnMonitoringSchedule_MonitoringInputProperty struct {
	// `CfnMonitoringSchedule.MonitoringInputProperty.BatchTransformInput`.
	BatchTransformInput interface{} `field:"optional" json:"batchTransformInput" yaml:"batchTransformInput"`
	// The endpoint for a monitoring job.
	EndpointInput interface{} `field:"optional" json:"endpointInput" yaml:"endpointInput"`
}

The inputs for a monitoring job.

Example:

// 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"

monitoringInputProperty := &MonitoringInputProperty{
	BatchTransformInput: &BatchTransformInputProperty{
		DataCapturedDestinationS3Uri: jsii.String("dataCapturedDestinationS3Uri"),
		DatasetFormat: &DatasetFormatProperty{
			Csv: &CsvProperty{
				Header: jsii.Boolean(false),
			},
			Json: &JsonProperty{
				Line: jsii.Boolean(false),
			},
			Parquet: jsii.Boolean(false),
		},
		LocalPath: jsii.String("localPath"),

		// the properties below are optional
		S3DataDistributionType: jsii.String("s3DataDistributionType"),
		S3InputMode: jsii.String("s3InputMode"),
	},
	EndpointInput: &EndpointInputProperty{
		EndpointName: jsii.String("endpointName"),
		LocalPath: jsii.String("localPath"),

		// the properties below are optional
		S3DataDistributionType: jsii.String("s3DataDistributionType"),
		S3InputMode: jsii.String("s3InputMode"),
	},
}

type CfnMonitoringSchedule_MonitoringJobDefinitionProperty

type CfnMonitoringSchedule_MonitoringJobDefinitionProperty struct {
	// Configures the monitoring job to run a specified Docker container image.
	MonitoringAppSpecification interface{} `field:"required" json:"monitoringAppSpecification" yaml:"monitoringAppSpecification"`
	// The array of inputs for the monitoring job.
	//
	// Currently we support monitoring an Amazon SageMaker Endpoint.
	MonitoringInputs interface{} `field:"required" json:"monitoringInputs" yaml:"monitoringInputs"`
	// The array of outputs from the monitoring job to be uploaded to Amazon Simple Storage Service (Amazon S3).
	MonitoringOutputConfig interface{} `field:"required" json:"monitoringOutputConfig" yaml:"monitoringOutputConfig"`
	// Identifies the resources, ML compute instances, and ML storage volumes to deploy for a monitoring job.
	//
	// In distributed processing, you specify more than one instance.
	MonitoringResources interface{} `field:"required" json:"monitoringResources" yaml:"monitoringResources"`
	// The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform tasks on your behalf.
	RoleArn *string `field:"required" json:"roleArn" yaml:"roleArn"`
	// Baseline configuration used to validate that the data conforms to the specified constraints and statistics.
	BaselineConfig interface{} `field:"optional" json:"baselineConfig" yaml:"baselineConfig"`
	// Sets the environment variables in the Docker container.
	Environment interface{} `field:"optional" json:"environment" yaml:"environment"`
	// Specifies networking options for an monitoring job.
	NetworkConfig interface{} `field:"optional" json:"networkConfig" yaml:"networkConfig"`
	// Specifies a time limit for how long the monitoring job is allowed to run.
	StoppingCondition interface{} `field:"optional" json:"stoppingCondition" yaml:"stoppingCondition"`
}

Defines the monitoring job.

Example:

// 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"

monitoringJobDefinitionProperty := &MonitoringJobDefinitionProperty{
	MonitoringAppSpecification: &MonitoringAppSpecificationProperty{
		ImageUri: jsii.String("imageUri"),

		// the properties below are optional
		ContainerArguments: []*string{
			jsii.String("containerArguments"),
		},
		ContainerEntrypoint: []*string{
			jsii.String("containerEntrypoint"),
		},
		PostAnalyticsProcessorSourceUri: jsii.String("postAnalyticsProcessorSourceUri"),
		RecordPreprocessorSourceUri: jsii.String("recordPreprocessorSourceUri"),
	},
	MonitoringInputs: []interface{}{
		&MonitoringInputProperty{
			BatchTransformInput: &BatchTransformInputProperty{
				DataCapturedDestinationS3Uri: jsii.String("dataCapturedDestinationS3Uri"),
				DatasetFormat: &DatasetFormatProperty{
					Csv: &CsvProperty{
						Header: jsii.Boolean(false),
					},
					Json: &JsonProperty{
						Line: jsii.Boolean(false),
					},
					Parquet: jsii.Boolean(false),
				},
				LocalPath: jsii.String("localPath"),

				// the properties below are optional
				S3DataDistributionType: jsii.String("s3DataDistributionType"),
				S3InputMode: jsii.String("s3InputMode"),
			},
			EndpointInput: &EndpointInputProperty{
				EndpointName: jsii.String("endpointName"),
				LocalPath: jsii.String("localPath"),

				// the properties below are optional
				S3DataDistributionType: jsii.String("s3DataDistributionType"),
				S3InputMode: jsii.String("s3InputMode"),
			},
		},
	},
	MonitoringOutputConfig: &MonitoringOutputConfigProperty{
		MonitoringOutputs: []interface{}{
			&MonitoringOutputProperty{
				S3Output: &S3OutputProperty{
					LocalPath: jsii.String("localPath"),
					S3Uri: jsii.String("s3Uri"),

					// the properties below are optional
					S3UploadMode: jsii.String("s3UploadMode"),
				},
			},
		},

		// the properties below are optional
		KmsKeyId: jsii.String("kmsKeyId"),
	},
	MonitoringResources: &MonitoringResourcesProperty{
		ClusterConfig: &ClusterConfigProperty{
			InstanceCount: jsii.Number(123),
			InstanceType: jsii.String("instanceType"),
			VolumeSizeInGb: jsii.Number(123),

			// the properties below are optional
			VolumeKmsKeyId: jsii.String("volumeKmsKeyId"),
		},
	},
	RoleArn: jsii.String("roleArn"),

	// the properties below are optional
	BaselineConfig: &BaselineConfigProperty{
		ConstraintsResource: &ConstraintsResourceProperty{
			S3Uri: jsii.String("s3Uri"),
		},
		StatisticsResource: &StatisticsResourceProperty{
			S3Uri: jsii.String("s3Uri"),
		},
	},
	Environment: map[string]*string{
		"environmentKey": jsii.String("environment"),
	},
	NetworkConfig: &NetworkConfigProperty{
		EnableInterContainerTrafficEncryption: jsii.Boolean(false),
		EnableNetworkIsolation: jsii.Boolean(false),
		VpcConfig: &VpcConfigProperty{
			SecurityGroupIds: []*string{
				jsii.String("securityGroupIds"),
			},
			Subnets: []*string{
				jsii.String("subnets"),
			},
		},
	},
	StoppingCondition: &StoppingConditionProperty{
		MaxRuntimeInSeconds: jsii.Number(123),
	},
}

type CfnMonitoringSchedule_MonitoringOutputConfigProperty

type CfnMonitoringSchedule_MonitoringOutputConfigProperty struct {
	// Monitoring outputs for monitoring jobs.
	//
	// This is where the output of the periodic monitoring jobs is uploaded.
	MonitoringOutputs interface{} `field:"required" json:"monitoringOutputs" yaml:"monitoringOutputs"`
	// The AWS Key Management Service ( AWS KMS) key that Amazon SageMaker uses to encrypt the model artifacts at rest using Amazon S3 server-side encryption.
	KmsKeyId *string `field:"optional" json:"kmsKeyId" yaml:"kmsKeyId"`
}

The output configuration for monitoring jobs.

Example:

// 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"

monitoringOutputConfigProperty := &MonitoringOutputConfigProperty{
	MonitoringOutputs: []interface{}{
		&MonitoringOutputProperty{
			S3Output: &S3OutputProperty{
				LocalPath: jsii.String("localPath"),
				S3Uri: jsii.String("s3Uri"),

				// the properties below are optional
				S3UploadMode: jsii.String("s3UploadMode"),
			},
		},
	},

	// the properties below are optional
	KmsKeyId: jsii.String("kmsKeyId"),
}

type CfnMonitoringSchedule_MonitoringOutputProperty

type CfnMonitoringSchedule_MonitoringOutputProperty struct {
	// The Amazon S3 storage location where the results of a monitoring job are saved.
	S3Output interface{} `field:"required" json:"s3Output" yaml:"s3Output"`
}

The output object for a monitoring job.

Example:

// 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"

monitoringOutputProperty := &MonitoringOutputProperty{
	S3Output: &S3OutputProperty{
		LocalPath: jsii.String("localPath"),
		S3Uri: jsii.String("s3Uri"),

		// the properties below are optional
		S3UploadMode: jsii.String("s3UploadMode"),
	},
}

type CfnMonitoringSchedule_MonitoringResourcesProperty

type CfnMonitoringSchedule_MonitoringResourcesProperty struct {
	// The configuration for the cluster resources used to run the processing job.
	ClusterConfig interface{} `field:"required" json:"clusterConfig" yaml:"clusterConfig"`
}

Identifies the resources to deploy for a monitoring job.

Example:

// 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"

monitoringResourcesProperty := &MonitoringResourcesProperty{
	ClusterConfig: &ClusterConfigProperty{
		InstanceCount: jsii.Number(123),
		InstanceType: jsii.String("instanceType"),
		VolumeSizeInGb: jsii.Number(123),

		// the properties below are optional
		VolumeKmsKeyId: jsii.String("volumeKmsKeyId"),
	},
}

type CfnMonitoringSchedule_MonitoringScheduleConfigProperty

type CfnMonitoringSchedule_MonitoringScheduleConfigProperty struct {
	// Defines the monitoring job.
	MonitoringJobDefinition interface{} `field:"optional" json:"monitoringJobDefinition" yaml:"monitoringJobDefinition"`
	// The name of the monitoring job definition to schedule.
	MonitoringJobDefinitionName *string `field:"optional" json:"monitoringJobDefinitionName" yaml:"monitoringJobDefinitionName"`
	// The type of the monitoring job definition to schedule.
	MonitoringType *string `field:"optional" json:"monitoringType" yaml:"monitoringType"`
	// Configures the monitoring schedule.
	ScheduleConfig interface{} `field:"optional" json:"scheduleConfig" yaml:"scheduleConfig"`
}

Configures the monitoring schedule and defines the monitoring job.

Example:

// 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"

monitoringScheduleConfigProperty := &MonitoringScheduleConfigProperty{
	MonitoringJobDefinition: &MonitoringJobDefinitionProperty{
		MonitoringAppSpecification: &MonitoringAppSpecificationProperty{
			ImageUri: jsii.String("imageUri"),

			// the properties below are optional
			ContainerArguments: []*string{
				jsii.String("containerArguments"),
			},
			ContainerEntrypoint: []*string{
				jsii.String("containerEntrypoint"),
			},
			PostAnalyticsProcessorSourceUri: jsii.String("postAnalyticsProcessorSourceUri"),
			RecordPreprocessorSourceUri: jsii.String("recordPreprocessorSourceUri"),
		},
		MonitoringInputs: []interface{}{
			&MonitoringInputProperty{
				BatchTransformInput: &BatchTransformInputProperty{
					DataCapturedDestinationS3Uri: jsii.String("dataCapturedDestinationS3Uri"),
					DatasetFormat: &DatasetFormatProperty{
						Csv: &CsvProperty{
							Header: jsii.Boolean(false),
						},
						Json: &JsonProperty{
							Line: jsii.Boolean(false),
						},
						Parquet: jsii.Boolean(false),
					},
					LocalPath: jsii.String("localPath"),

					// the properties below are optional
					S3DataDistributionType: jsii.String("s3DataDistributionType"),
					S3InputMode: jsii.String("s3InputMode"),
				},
				EndpointInput: &EndpointInputProperty{
					EndpointName: jsii.String("endpointName"),
					LocalPath: jsii.String("localPath"),

					// the properties below are optional
					S3DataDistributionType: jsii.String("s3DataDistributionType"),
					S3InputMode: jsii.String("s3InputMode"),
				},
			},
		},
		MonitoringOutputConfig: &MonitoringOutputConfigProperty{
			MonitoringOutputs: []interface{}{
				&MonitoringOutputProperty{
					S3Output: &S3OutputProperty{
						LocalPath: jsii.String("localPath"),
						S3Uri: jsii.String("s3Uri"),

						// the properties below are optional
						S3UploadMode: jsii.String("s3UploadMode"),
					},
				},
			},

			// the properties below are optional
			KmsKeyId: jsii.String("kmsKeyId"),
		},
		MonitoringResources: &MonitoringResourcesProperty{
			ClusterConfig: &ClusterConfigProperty{
				InstanceCount: jsii.Number(123),
				InstanceType: jsii.String("instanceType"),
				VolumeSizeInGb: jsii.Number(123),

				// the properties below are optional
				VolumeKmsKeyId: jsii.String("volumeKmsKeyId"),
			},
		},
		RoleArn: jsii.String("roleArn"),

		// the properties below are optional
		BaselineConfig: &BaselineConfigProperty{
			ConstraintsResource: &ConstraintsResourceProperty{
				S3Uri: jsii.String("s3Uri"),
			},
			StatisticsResource: &StatisticsResourceProperty{
				S3Uri: jsii.String("s3Uri"),
			},
		},
		Environment: map[string]*string{
			"environmentKey": jsii.String("environment"),
		},
		NetworkConfig: &NetworkConfigProperty{
			EnableInterContainerTrafficEncryption: jsii.Boolean(false),
			EnableNetworkIsolation: jsii.Boolean(false),
			VpcConfig: &VpcConfigProperty{
				SecurityGroupIds: []*string{
					jsii.String("securityGroupIds"),
				},
				Subnets: []*string{
					jsii.String("subnets"),
				},
			},
		},
		StoppingCondition: &StoppingConditionProperty{
			MaxRuntimeInSeconds: jsii.Number(123),
		},
	},
	MonitoringJobDefinitionName: jsii.String("monitoringJobDefinitionName"),
	MonitoringType: jsii.String("monitoringType"),
	ScheduleConfig: &ScheduleConfigProperty{
		ScheduleExpression: jsii.String("scheduleExpression"),
	},
}

type CfnMonitoringSchedule_NetworkConfigProperty

type CfnMonitoringSchedule_NetworkConfigProperty struct {
	// Whether to encrypt all communications between distributed processing jobs.
	//
	// Choose `True` to encrypt communications. Encryption provides greater security for distributed processing jobs, but the processing might take longer.
	EnableInterContainerTrafficEncryption interface{} `field:"optional" json:"enableInterContainerTrafficEncryption" yaml:"enableInterContainerTrafficEncryption"`
	// Whether to allow inbound and outbound network calls to and from the containers used for the processing job.
	EnableNetworkIsolation interface{} `field:"optional" json:"enableNetworkIsolation" yaml:"enableNetworkIsolation"`
	// Specifies a VPC that your training jobs and hosted models have access to.
	//
	// Control access to and from your training and model containers by configuring the VPC. For more information, see [Protect Endpoints by Using an Amazon Virtual Private Cloud](https://docs.aws.amazon.com/sagemaker/latest/dg/host-vpc.html) and [Protect Training Jobs by Using an Amazon Virtual Private Cloud](https://docs.aws.amazon.com/sagemaker/latest/dg/train-vpc.html) .
	VpcConfig interface{} `field:"optional" json:"vpcConfig" yaml:"vpcConfig"`
}

Networking options for a job, such as network traffic encryption between containers, whether to allow inbound and outbound network calls to and from containers, and the VPC subnets and security groups to use for VPC-enabled jobs.

Example:

// 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"

networkConfigProperty := &NetworkConfigProperty{
	EnableInterContainerTrafficEncryption: jsii.Boolean(false),
	EnableNetworkIsolation: jsii.Boolean(false),
	VpcConfig: &VpcConfigProperty{
		SecurityGroupIds: []*string{
			jsii.String("securityGroupIds"),
		},
		Subnets: []*string{
			jsii.String("subnets"),
		},
	},
}

type CfnMonitoringSchedule_S3OutputProperty

type CfnMonitoringSchedule_S3OutputProperty struct {
	// The local path to the S3 storage location where SageMaker saves the results of a monitoring job.
	//
	// LocalPath is an absolute path for the output data.
	LocalPath *string `field:"required" json:"localPath" yaml:"localPath"`
	// A URI that identifies the S3 storage location where SageMaker saves the results of a monitoring job.
	S3Uri *string `field:"required" json:"s3Uri" yaml:"s3Uri"`
	// Whether to upload the results of the monitoring job continuously or after the job completes.
	S3UploadMode *string `field:"optional" json:"s3UploadMode" yaml:"s3UploadMode"`
}

Information about where and how you want to store the results of a monitoring job.

Example:

// 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"

s3OutputProperty := &S3OutputProperty{
	LocalPath: jsii.String("localPath"),
	S3Uri: jsii.String("s3Uri"),

	// the properties below are optional
	S3UploadMode: jsii.String("s3UploadMode"),
}

type CfnMonitoringSchedule_ScheduleConfigProperty

type CfnMonitoringSchedule_ScheduleConfigProperty struct {
	// A cron expression that describes details about the monitoring schedule.
	//
	// Currently the only supported cron expressions are:
	//
	// - If you want to set the job to start every hour, please use the following:
	//
	// `Hourly: cron(0 * ? * * *)`
	// - If you want to start the job daily:
	//
	// `cron(0 [00-23] ? * * *)`
	//
	// For example, the following are valid cron expressions:
	//
	// - Daily at noon UTC: `cron(0 12 ? * * *)`
	// - Daily at midnight UTC: `cron(0 0 ? * * *)`
	//
	// To support running every 6, 12 hours, the following are also supported:
	//
	// `cron(0 [00-23]/[01-24] ? * * *)`
	//
	// For example, the following are valid cron expressions:
	//
	// - Every 12 hours, starting at 5pm UTC: `cron(0 17/12 ? * * *)`
	// - Every two hours starting at midnight: `cron(0 0/2 ? * * *)`
	//
	// > - Even though the cron expression is set to start at 5PM UTC, note that there could be a delay of 0-20 minutes from the actual requested time to run the execution.
	// > - We recommend that if you would like a daily schedule, you do not provide this parameter. Amazon SageMaker will pick a time for running every day.
	ScheduleExpression *string `field:"required" json:"scheduleExpression" yaml:"scheduleExpression"`
}

Configuration details about the monitoring schedule.

Example:

// 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"

scheduleConfigProperty := &ScheduleConfigProperty{
	ScheduleExpression: jsii.String("scheduleExpression"),
}

type CfnMonitoringSchedule_StatisticsResourceProperty

type CfnMonitoringSchedule_StatisticsResourceProperty struct {
	// The S3 URI for the statistics resource.
	S3Uri *string `field:"optional" json:"s3Uri" yaml:"s3Uri"`
}

The baseline statistics file in Amazon S3 that the current monitoring job should be validated against.

Example:

// 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"

statisticsResourceProperty := &StatisticsResourceProperty{
	S3Uri: jsii.String("s3Uri"),
}

type CfnMonitoringSchedule_StoppingConditionProperty

type CfnMonitoringSchedule_StoppingConditionProperty struct {
	// The maximum length of time, in seconds, that a training or compilation job can run before it is stopped.
	//
	// For compilation jobs, if the job does not complete during this time, a `TimeOut` error is generated. We recommend starting with 900 seconds and increasing as necessary based on your model.
	//
	// For all other jobs, if the job does not complete during this time, SageMaker ends the job. When `RetryStrategy` is specified in the job request, `MaxRuntimeInSeconds` specifies the maximum time for all of the attempts in total, not each individual attempt. The default value is 1 day. The maximum value is 28 days.
	//
	// The maximum time that a `TrainingJob` can run in total, including any time spent publishing metrics or archiving and uploading models after it has been stopped, is 30 days.
	MaxRuntimeInSeconds *float64 `field:"required" json:"maxRuntimeInSeconds" yaml:"maxRuntimeInSeconds"`
}

Specifies a limit to how long a model training job or model compilation job can run.

It also specifies how long a managed spot training job has to complete. When the job reaches the time limit, SageMaker ends the training or compilation job. Use this API to cap model training costs.

To stop a training job, SageMaker sends the algorithm the `SIGTERM` signal, which delays job termination for 120 seconds. Algorithms can use this 120-second window to save the model artifacts, so the results of training are not lost.

The training algorithms provided by SageMaker automatically save the intermediate results of a model training job when possible. This attempt to save artifacts is only a best effort case as model might not be in a state from which it can be saved. For example, if training has just started, the model might not be ready to save. When saved, this intermediate data is a valid model artifact. You can use it to create a model with `CreateModel` .

> The Neural Topic Model (NTM) currently does not support saving intermediate model artifacts. When training NTMs, make sure that the maximum runtime is sufficient for the training job to complete.

Example:

// 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"

stoppingConditionProperty := &StoppingConditionProperty{
	MaxRuntimeInSeconds: jsii.Number(123),
}

type CfnMonitoringSchedule_VpcConfigProperty

type CfnMonitoringSchedule_VpcConfigProperty struct {
	// The VPC security group IDs, in the form sg-xxxxxxxx.
	//
	// Specify the security groups for the VPC that is specified in the `Subnets` field.
	SecurityGroupIds *[]*string `field:"required" json:"securityGroupIds" yaml:"securityGroupIds"`
	// The ID of the subnets in the VPC to which you want to connect your training job or model.
	//
	// For information about the availability of specific instance types, see [Supported Instance Types and Availability Zones](https://docs.aws.amazon.com/sagemaker/latest/dg/instance-types-az.html) .
	Subnets *[]*string `field:"required" json:"subnets" yaml:"subnets"`
}

Specifies a VPC that your training jobs and hosted models have access to.

Control access to and from your training and model containers by configuring the VPC. For more information, see [Protect Endpoints by Using an Amazon Virtual Private Cloud](https://docs.aws.amazon.com/sagemaker/latest/dg/host-vpc.html) and [Protect Training Jobs by Using an Amazon Virtual Private Cloud](https://docs.aws.amazon.com/sagemaker/latest/dg/train-vpc.html) .

Example:

// 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"

vpcConfigProperty := &VpcConfigProperty{
	SecurityGroupIds: []*string{
		jsii.String("securityGroupIds"),
	},
	Subnets: []*string{
		jsii.String("subnets"),
	},
}

type CfnNotebookInstance

type CfnNotebookInstance interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// A list of Amazon Elastic Inference (EI) instance types to associate with the notebook instance.
	//
	// Currently, only one instance type can be associated with a notebook instance. For more information, see [Using Elastic Inference in Amazon SageMaker](https://docs.aws.amazon.com/sagemaker/latest/dg/ei.html) .
	//
	// *Valid Values:* `ml.eia1.medium | ml.eia1.large | ml.eia1.xlarge | ml.eia2.medium | ml.eia2.large | ml.eia2.xlarge` .
	AcceleratorTypes() *[]*string
	SetAcceleratorTypes(val *[]*string)
	// An array of up to three Git repositories associated with the notebook instance.
	//
	// These can be either the names of Git repositories stored as resources in your account, or the URL of Git repositories in [AWS CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html) or in any other Git repository. These repositories are cloned at the same level as the default repository of your notebook instance. For more information, see [Associating Git Repositories with SageMaker Notebook Instances](https://docs.aws.amazon.com/sagemaker/latest/dg/nbi-git-repo.html) .
	AdditionalCodeRepositories() *[]*string
	SetAdditionalCodeRepositories(val *[]*string)
	// The name of the notebook instance, such as `MyNotebookInstance` .
	AttrNotebookInstanceName() *string
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// The Git repository associated with the notebook instance as its default code repository.
	//
	// This can be either the name of a Git repository stored as a resource in your account, or the URL of a Git repository in [AWS CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html) or in any other Git repository. When you open a notebook instance, it opens in the directory that contains this repository. For more information, see [Associating Git Repositories with SageMaker Notebook Instances](https://docs.aws.amazon.com/sagemaker/latest/dg/nbi-git-repo.html) .
	DefaultCodeRepository() *string
	SetDefaultCodeRepository(val *string)
	// Sets whether SageMaker provides internet access to the notebook instance.
	//
	// If you set this to `Disabled` this notebook instance is able to access resources only in your VPC, and is not be able to connect to SageMaker training and endpoint services unless you configure a NAT Gateway in your VPC.
	//
	// For more information, see [Notebook Instances Are Internet-Enabled by Default](https://docs.aws.amazon.com/sagemaker/latest/dg/appendix-additional-considerations.html#appendix-notebook-and-internet-access) . You can set the value of this parameter to `Disabled` only if you set a value for the `SubnetId` parameter.
	DirectInternetAccess() *string
	SetDirectInternetAccess(val *string)
	// Information on the IMDS configuration of the notebook instance.
	InstanceMetadataServiceConfiguration() interface{}
	SetInstanceMetadataServiceConfiguration(val interface{})
	// The type of ML compute instance to launch for the notebook instance.
	//
	// > Expect some interruption of service if this parameter is changed as CloudFormation stops a notebook instance and starts it up again to update it.
	InstanceType() *string
	SetInstanceType(val *string)
	// The Amazon Resource Name (ARN) of a AWS Key Management Service key that SageMaker uses to encrypt data on the storage volume attached to your notebook instance.
	//
	// The KMS key you provide must be enabled. For information, see [Enabling and Disabling Keys](https://docs.aws.amazon.com/kms/latest/developerguide/enabling-keys.html) in the *AWS Key Management Service Developer Guide* .
	KmsKeyId() *string
	SetKmsKeyId(val *string)
	// The name of a lifecycle configuration to associate with the notebook instance.
	//
	// For information about lifecycle configurations, see [Customize a Notebook Instance](https://docs.aws.amazon.com/sagemaker/latest/dg/notebook-lifecycle-config.html) in the *Amazon SageMaker Developer Guide* .
	LifecycleConfigName() *string
	SetLifecycleConfigName(val *string)
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The tree node.
	Node() constructs.Node
	// The name of the new notebook instance.
	NotebookInstanceName() *string
	SetNotebookInstanceName(val *string)
	// The platform identifier of the notebook instance runtime environment.
	PlatformIdentifier() *string
	SetPlatformIdentifier(val *string)
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// When you send any requests to AWS resources from the notebook instance, SageMaker assumes this role to perform tasks on your behalf.
	//
	// You must grant this role necessary permissions so SageMaker can perform these tasks. The policy must allow the SageMaker service principal (sagemaker.amazonaws.com) permissions to assume this role. For more information, see [SageMaker Roles](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles.html) .
	//
	// > To be able to pass this role to SageMaker, the caller of this API must have the `iam:PassRole` permission.
	RoleArn() *string
	SetRoleArn(val *string)
	// Whether root access is enabled or disabled for users of the notebook instance. The default value is `Enabled` .
	//
	// > Lifecycle configurations need root access to be able to set up a notebook instance. Because of this, lifecycle configurations associated with a notebook instance always run with root access even if you disable root access for users.
	RootAccess() *string
	SetRootAccess(val *string)
	// The VPC security group IDs, in the form sg-xxxxxxxx.
	//
	// The security groups must be for the same VPC as specified in the subnet.
	SecurityGroupIds() *[]*string
	SetSecurityGroupIds(val *[]*string)
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// The ID of the subnet in a VPC to which you would like to have a connectivity from your ML compute instance.
	SubnetId() *string
	SetSubnetId(val *string)
	// A list of key-value pairs to apply to this resource.
	//
	// For more information, see [Resource Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) and [Using Cost Allocation Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what) .
	//
	// You can add tags later by using the `CreateTags` API.
	Tags() awscdk.TagManager
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// The size, in GB, of the ML storage volume to attach to the notebook instance.
	//
	// The default value is 5 GB.
	//
	// > Expect some interruption of service if this parameter is changed as CloudFormation stops a notebook instance and starts it up again to update it.
	VolumeSizeInGb() *float64
	SetVolumeSizeInGb(val *float64)
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// 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`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::SageMaker::NotebookInstance`.

The `AWS::SageMaker::NotebookInstance` resource creates an Amazon SageMaker notebook instance. A notebook instance is a machine learning (ML) compute instance running on a Jupyter notebook. For more information, see [Use Notebook Instances](https://docs.aws.amazon.com/sagemaker/latest/dg/nbi.html) .

Example:

// 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"

cfnNotebookInstance := awscdk.Aws_sagemaker.NewCfnNotebookInstance(this, jsii.String("MyCfnNotebookInstance"), &CfnNotebookInstanceProps{
	InstanceType: jsii.String("instanceType"),
	RoleArn: jsii.String("roleArn"),

	// the properties below are optional
	AcceleratorTypes: []*string{
		jsii.String("acceleratorTypes"),
	},
	AdditionalCodeRepositories: []*string{
		jsii.String("additionalCodeRepositories"),
	},
	DefaultCodeRepository: jsii.String("defaultCodeRepository"),
	DirectInternetAccess: jsii.String("directInternetAccess"),
	InstanceMetadataServiceConfiguration: &InstanceMetadataServiceConfigurationProperty{
		MinimumInstanceMetadataServiceVersion: jsii.String("minimumInstanceMetadataServiceVersion"),
	},
	KmsKeyId: jsii.String("kmsKeyId"),
	LifecycleConfigName: jsii.String("lifecycleConfigName"),
	NotebookInstanceName: jsii.String("notebookInstanceName"),
	PlatformIdentifier: jsii.String("platformIdentifier"),
	RootAccess: jsii.String("rootAccess"),
	SecurityGroupIds: []*string{
		jsii.String("securityGroupIds"),
	},
	SubnetId: jsii.String("subnetId"),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
	VolumeSizeInGb: jsii.Number(123),
})

func NewCfnNotebookInstance

func NewCfnNotebookInstance(scope constructs.Construct, id *string, props *CfnNotebookInstanceProps) CfnNotebookInstance

Create a new `AWS::SageMaker::NotebookInstance`.

type CfnNotebookInstanceLifecycleConfig

type CfnNotebookInstanceLifecycleConfig interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// The name of the lifecycle configuration, such as `MyLifecycleConfig` .
	AttrNotebookInstanceLifecycleConfigName() *string
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The tree node.
	Node() constructs.Node
	// The name of the lifecycle configuration.
	NotebookInstanceLifecycleConfigName() *string
	SetNotebookInstanceLifecycleConfigName(val *string)
	// A shell script that runs only once, when you create a notebook instance.
	//
	// The shell script must be a base64-encoded string.
	OnCreate() interface{}
	SetOnCreate(val interface{})
	// A shell script that runs every time you start a notebook instance, including when you create the notebook instance.
	//
	// The shell script must be a base64-encoded string.
	OnStart() interface{}
	SetOnStart(val interface{})
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// 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`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::SageMaker::NotebookInstanceLifecycleConfig`.

The `AWS::SageMaker::NotebookInstanceLifecycleConfig` resource creates shell scripts that run when you create and/or start a notebook instance. For information about notebook instance lifecycle configurations, see [Customize a Notebook Instance](https://docs.aws.amazon.com/sagemaker/latest/dg/notebook-lifecycle-config.html) in the *Amazon SageMaker Developer Guide* .

Example:

// 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"

cfnNotebookInstanceLifecycleConfig := awscdk.Aws_sagemaker.NewCfnNotebookInstanceLifecycleConfig(this, jsii.String("MyCfnNotebookInstanceLifecycleConfig"), &CfnNotebookInstanceLifecycleConfigProps{
	NotebookInstanceLifecycleConfigName: jsii.String("notebookInstanceLifecycleConfigName"),
	OnCreate: []interface{}{
		&NotebookInstanceLifecycleHookProperty{
			Content: jsii.String("content"),
		},
	},
	OnStart: []interface{}{
		&NotebookInstanceLifecycleHookProperty{
			Content: jsii.String("content"),
		},
	},
})

func NewCfnNotebookInstanceLifecycleConfig

func NewCfnNotebookInstanceLifecycleConfig(scope constructs.Construct, id *string, props *CfnNotebookInstanceLifecycleConfigProps) CfnNotebookInstanceLifecycleConfig

Create a new `AWS::SageMaker::NotebookInstanceLifecycleConfig`.

type CfnNotebookInstanceLifecycleConfigProps

type CfnNotebookInstanceLifecycleConfigProps struct {
	// The name of the lifecycle configuration.
	NotebookInstanceLifecycleConfigName *string `field:"optional" json:"notebookInstanceLifecycleConfigName" yaml:"notebookInstanceLifecycleConfigName"`
	// A shell script that runs only once, when you create a notebook instance.
	//
	// The shell script must be a base64-encoded string.
	OnCreate interface{} `field:"optional" json:"onCreate" yaml:"onCreate"`
	// A shell script that runs every time you start a notebook instance, including when you create the notebook instance.
	//
	// The shell script must be a base64-encoded string.
	OnStart interface{} `field:"optional" json:"onStart" yaml:"onStart"`
}

Properties for defining a `CfnNotebookInstanceLifecycleConfig`.

Example:

// 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"

cfnNotebookInstanceLifecycleConfigProps := &CfnNotebookInstanceLifecycleConfigProps{
	NotebookInstanceLifecycleConfigName: jsii.String("notebookInstanceLifecycleConfigName"),
	OnCreate: []interface{}{
		&NotebookInstanceLifecycleHookProperty{
			Content: jsii.String("content"),
		},
	},
	OnStart: []interface{}{
		&NotebookInstanceLifecycleHookProperty{
			Content: jsii.String("content"),
		},
	},
}

type CfnNotebookInstanceLifecycleConfig_NotebookInstanceLifecycleHookProperty

type CfnNotebookInstanceLifecycleConfig_NotebookInstanceLifecycleHookProperty struct {
	// A base64-encoded string that contains a shell script for a notebook instance lifecycle configuration.
	Content *string `field:"optional" json:"content" yaml:"content"`
}

Specifies the notebook instance lifecycle configuration script.

Each lifecycle configuration script has a limit of 16384 characters.

Example:

// 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"

notebookInstanceLifecycleHookProperty := &NotebookInstanceLifecycleHookProperty{
	Content: jsii.String("content"),
}

type CfnNotebookInstanceProps

type CfnNotebookInstanceProps struct {
	// The type of ML compute instance to launch for the notebook instance.
	//
	// > Expect some interruption of service if this parameter is changed as CloudFormation stops a notebook instance and starts it up again to update it.
	InstanceType *string `field:"required" json:"instanceType" yaml:"instanceType"`
	// When you send any requests to AWS resources from the notebook instance, SageMaker assumes this role to perform tasks on your behalf.
	//
	// You must grant this role necessary permissions so SageMaker can perform these tasks. The policy must allow the SageMaker service principal (sagemaker.amazonaws.com) permissions to assume this role. For more information, see [SageMaker Roles](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles.html) .
	//
	// > To be able to pass this role to SageMaker, the caller of this API must have the `iam:PassRole` permission.
	RoleArn *string `field:"required" json:"roleArn" yaml:"roleArn"`
	// A list of Amazon Elastic Inference (EI) instance types to associate with the notebook instance.
	//
	// Currently, only one instance type can be associated with a notebook instance. For more information, see [Using Elastic Inference in Amazon SageMaker](https://docs.aws.amazon.com/sagemaker/latest/dg/ei.html) .
	//
	// *Valid Values:* `ml.eia1.medium | ml.eia1.large | ml.eia1.xlarge | ml.eia2.medium | ml.eia2.large | ml.eia2.xlarge` .
	AcceleratorTypes *[]*string `field:"optional" json:"acceleratorTypes" yaml:"acceleratorTypes"`
	// An array of up to three Git repositories associated with the notebook instance.
	//
	// These can be either the names of Git repositories stored as resources in your account, or the URL of Git repositories in [AWS CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html) or in any other Git repository. These repositories are cloned at the same level as the default repository of your notebook instance. For more information, see [Associating Git Repositories with SageMaker Notebook Instances](https://docs.aws.amazon.com/sagemaker/latest/dg/nbi-git-repo.html) .
	AdditionalCodeRepositories *[]*string `field:"optional" json:"additionalCodeRepositories" yaml:"additionalCodeRepositories"`
	// The Git repository associated with the notebook instance as its default code repository.
	//
	// This can be either the name of a Git repository stored as a resource in your account, or the URL of a Git repository in [AWS CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html) or in any other Git repository. When you open a notebook instance, it opens in the directory that contains this repository. For more information, see [Associating Git Repositories with SageMaker Notebook Instances](https://docs.aws.amazon.com/sagemaker/latest/dg/nbi-git-repo.html) .
	DefaultCodeRepository *string `field:"optional" json:"defaultCodeRepository" yaml:"defaultCodeRepository"`
	// Sets whether SageMaker provides internet access to the notebook instance.
	//
	// If you set this to `Disabled` this notebook instance is able to access resources only in your VPC, and is not be able to connect to SageMaker training and endpoint services unless you configure a NAT Gateway in your VPC.
	//
	// For more information, see [Notebook Instances Are Internet-Enabled by Default](https://docs.aws.amazon.com/sagemaker/latest/dg/appendix-additional-considerations.html#appendix-notebook-and-internet-access) . You can set the value of this parameter to `Disabled` only if you set a value for the `SubnetId` parameter.
	DirectInternetAccess *string `field:"optional" json:"directInternetAccess" yaml:"directInternetAccess"`
	// Information on the IMDS configuration of the notebook instance.
	InstanceMetadataServiceConfiguration interface{} `field:"optional" json:"instanceMetadataServiceConfiguration" yaml:"instanceMetadataServiceConfiguration"`
	// The Amazon Resource Name (ARN) of a AWS Key Management Service key that SageMaker uses to encrypt data on the storage volume attached to your notebook instance.
	//
	// The KMS key you provide must be enabled. For information, see [Enabling and Disabling Keys](https://docs.aws.amazon.com/kms/latest/developerguide/enabling-keys.html) in the *AWS Key Management Service Developer Guide* .
	KmsKeyId *string `field:"optional" json:"kmsKeyId" yaml:"kmsKeyId"`
	// The name of a lifecycle configuration to associate with the notebook instance.
	//
	// For information about lifecycle configurations, see [Customize a Notebook Instance](https://docs.aws.amazon.com/sagemaker/latest/dg/notebook-lifecycle-config.html) in the *Amazon SageMaker Developer Guide* .
	LifecycleConfigName *string `field:"optional" json:"lifecycleConfigName" yaml:"lifecycleConfigName"`
	// The name of the new notebook instance.
	NotebookInstanceName *string `field:"optional" json:"notebookInstanceName" yaml:"notebookInstanceName"`
	// The platform identifier of the notebook instance runtime environment.
	PlatformIdentifier *string `field:"optional" json:"platformIdentifier" yaml:"platformIdentifier"`
	// Whether root access is enabled or disabled for users of the notebook instance. The default value is `Enabled` .
	//
	// > Lifecycle configurations need root access to be able to set up a notebook instance. Because of this, lifecycle configurations associated with a notebook instance always run with root access even if you disable root access for users.
	RootAccess *string `field:"optional" json:"rootAccess" yaml:"rootAccess"`
	// The VPC security group IDs, in the form sg-xxxxxxxx.
	//
	// The security groups must be for the same VPC as specified in the subnet.
	SecurityGroupIds *[]*string `field:"optional" json:"securityGroupIds" yaml:"securityGroupIds"`
	// The ID of the subnet in a VPC to which you would like to have a connectivity from your ML compute instance.
	SubnetId *string `field:"optional" json:"subnetId" yaml:"subnetId"`
	// A list of key-value pairs to apply to this resource.
	//
	// For more information, see [Resource Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) and [Using Cost Allocation Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what) .
	//
	// You can add tags later by using the `CreateTags` API.
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
	// The size, in GB, of the ML storage volume to attach to the notebook instance.
	//
	// The default value is 5 GB.
	//
	// > Expect some interruption of service if this parameter is changed as CloudFormation stops a notebook instance and starts it up again to update it.
	VolumeSizeInGb *float64 `field:"optional" json:"volumeSizeInGb" yaml:"volumeSizeInGb"`
}

Properties for defining a `CfnNotebookInstance`.

Example:

// 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"

cfnNotebookInstanceProps := &CfnNotebookInstanceProps{
	InstanceType: jsii.String("instanceType"),
	RoleArn: jsii.String("roleArn"),

	// the properties below are optional
	AcceleratorTypes: []*string{
		jsii.String("acceleratorTypes"),
	},
	AdditionalCodeRepositories: []*string{
		jsii.String("additionalCodeRepositories"),
	},
	DefaultCodeRepository: jsii.String("defaultCodeRepository"),
	DirectInternetAccess: jsii.String("directInternetAccess"),
	InstanceMetadataServiceConfiguration: &InstanceMetadataServiceConfigurationProperty{
		MinimumInstanceMetadataServiceVersion: jsii.String("minimumInstanceMetadataServiceVersion"),
	},
	KmsKeyId: jsii.String("kmsKeyId"),
	LifecycleConfigName: jsii.String("lifecycleConfigName"),
	NotebookInstanceName: jsii.String("notebookInstanceName"),
	PlatformIdentifier: jsii.String("platformIdentifier"),
	RootAccess: jsii.String("rootAccess"),
	SecurityGroupIds: []*string{
		jsii.String("securityGroupIds"),
	},
	SubnetId: jsii.String("subnetId"),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
	VolumeSizeInGb: jsii.Number(123),
}

type CfnNotebookInstance_InstanceMetadataServiceConfigurationProperty added in v2.45.0

type CfnNotebookInstance_InstanceMetadataServiceConfigurationProperty struct {
	// Indicates the minimum IMDS version that the notebook instance supports.
	//
	// When passed as part of `CreateNotebookInstance` , if no value is selected, then it defaults to IMDSv1. This means that both IMDSv1 and IMDSv2 are supported. If passed as part of `UpdateNotebookInstance` , there is no default.
	MinimumInstanceMetadataServiceVersion *string `field:"required" json:"minimumInstanceMetadataServiceVersion" yaml:"minimumInstanceMetadataServiceVersion"`
}

Information on the IMDS configuration of the notebook instance.

Example:

// 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"

instanceMetadataServiceConfigurationProperty := &InstanceMetadataServiceConfigurationProperty{
	MinimumInstanceMetadataServiceVersion: jsii.String("minimumInstanceMetadataServiceVersion"),
}

type CfnPipeline

type CfnPipeline interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The tree node.
	Node() constructs.Node
	// `AWS::SageMaker::Pipeline.ParallelismConfiguration`.
	ParallelismConfiguration() interface{}
	SetParallelismConfiguration(val interface{})
	// The definition of the pipeline.
	//
	// This can be either a JSON string or an Amazon S3 location.
	PipelineDefinition() interface{}
	SetPipelineDefinition(val interface{})
	// The description of the pipeline.
	PipelineDescription() *string
	SetPipelineDescription(val *string)
	// The display name of the pipeline.
	PipelineDisplayName() *string
	SetPipelineDisplayName(val *string)
	// The name of the pipeline.
	PipelineName() *string
	SetPipelineName(val *string)
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// The Amazon Resource Name (ARN) of the IAM role used to execute the pipeline.
	RoleArn() *string
	SetRoleArn(val *string)
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// The tags of the pipeline.
	Tags() awscdk.TagManager
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// 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`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::SageMaker::Pipeline`.

The `AWS::SageMaker::Pipeline` resource creates shell scripts that run when you create and/or start a SageMaker Pipeline. For information about SageMaker Pipelines, see [SageMaker Pipelines](https://docs.aws.amazon.com/sagemaker/latest/dg/pipelines.html) in the *Amazon SageMaker Developer Guide* .

Example:

// 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"

var parallelismConfiguration interface{}
var pipelineDefinition interface{}

cfnPipeline := awscdk.Aws_sagemaker.NewCfnPipeline(this, jsii.String("MyCfnPipeline"), &CfnPipelineProps{
	PipelineDefinition: pipelineDefinition,
	PipelineName: jsii.String("pipelineName"),
	RoleArn: jsii.String("roleArn"),

	// the properties below are optional
	ParallelismConfiguration: parallelismConfiguration,
	PipelineDescription: jsii.String("pipelineDescription"),
	PipelineDisplayName: jsii.String("pipelineDisplayName"),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
})

func NewCfnPipeline

func NewCfnPipeline(scope constructs.Construct, id *string, props *CfnPipelineProps) CfnPipeline

Create a new `AWS::SageMaker::Pipeline`.

type CfnPipelineProps

type CfnPipelineProps struct {
	// The definition of the pipeline.
	//
	// This can be either a JSON string or an Amazon S3 location.
	PipelineDefinition interface{} `field:"required" json:"pipelineDefinition" yaml:"pipelineDefinition"`
	// The name of the pipeline.
	PipelineName *string `field:"required" json:"pipelineName" yaml:"pipelineName"`
	// The Amazon Resource Name (ARN) of the IAM role used to execute the pipeline.
	RoleArn *string `field:"required" json:"roleArn" yaml:"roleArn"`
	// `AWS::SageMaker::Pipeline.ParallelismConfiguration`.
	ParallelismConfiguration interface{} `field:"optional" json:"parallelismConfiguration" yaml:"parallelismConfiguration"`
	// The description of the pipeline.
	PipelineDescription *string `field:"optional" json:"pipelineDescription" yaml:"pipelineDescription"`
	// The display name of the pipeline.
	PipelineDisplayName *string `field:"optional" json:"pipelineDisplayName" yaml:"pipelineDisplayName"`
	// The tags of the pipeline.
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
}

Properties for defining a `CfnPipeline`.

Example:

// 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"

var parallelismConfiguration interface{}
var pipelineDefinition interface{}

cfnPipelineProps := &CfnPipelineProps{
	PipelineDefinition: pipelineDefinition,
	PipelineName: jsii.String("pipelineName"),
	RoleArn: jsii.String("roleArn"),

	// the properties below are optional
	ParallelismConfiguration: parallelismConfiguration,
	PipelineDescription: jsii.String("pipelineDescription"),
	PipelineDisplayName: jsii.String("pipelineDisplayName"),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
}

type CfnPipeline_ParallelismConfigurationProperty added in v2.55.0

type CfnPipeline_ParallelismConfigurationProperty struct {
	// The max number of steps that can be executed in parallel.
	MaxParallelExecutionSteps *float64 `field:"required" json:"maxParallelExecutionSteps" yaml:"maxParallelExecutionSteps"`
}

Configuration that controls the parallelism of the pipeline.

By default, the parallelism configuration specified applies to all executions of the pipeline unless overridden.

Example:

// 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"

parallelismConfigurationProperty := &ParallelismConfigurationProperty{
	MaxParallelExecutionSteps: jsii.Number(123),
}

type CfnPipeline_PipelineDefinitionProperty added in v2.55.0

type CfnPipeline_PipelineDefinitionProperty struct {
	// `CfnPipeline.PipelineDefinitionProperty.PipelineDefinitionBody`.
	PipelineDefinitionBody *string `field:"optional" json:"pipelineDefinitionBody" yaml:"pipelineDefinitionBody"`
	// `CfnPipeline.PipelineDefinitionProperty.PipelineDefinitionS3Location`.
	PipelineDefinitionS3Location interface{} `field:"optional" json:"pipelineDefinitionS3Location" yaml:"pipelineDefinitionS3Location"`
}

Example:

// 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"

pipelineDefinitionProperty := &PipelineDefinitionProperty{
	PipelineDefinitionBody: jsii.String("pipelineDefinitionBody"),
	PipelineDefinitionS3Location: &S3LocationProperty{
		Bucket: jsii.String("bucket"),
		Key: jsii.String("key"),

		// the properties below are optional
		ETag: jsii.String("eTag"),
		Version: jsii.String("version"),
	},
}

type CfnPipeline_S3LocationProperty added in v2.55.0

type CfnPipeline_S3LocationProperty struct {
	// `CfnPipeline.S3LocationProperty.Bucket`.
	Bucket *string `field:"required" json:"bucket" yaml:"bucket"`
	// `CfnPipeline.S3LocationProperty.Key`.
	Key *string `field:"required" json:"key" yaml:"key"`
	// `CfnPipeline.S3LocationProperty.ETag`.
	ETag *string `field:"optional" json:"eTag" yaml:"eTag"`
	// `CfnPipeline.S3LocationProperty.Version`.
	Version *string `field:"optional" json:"version" yaml:"version"`
}

Example:

// 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"

s3LocationProperty := &S3LocationProperty{
	Bucket: jsii.String("bucket"),
	Key: jsii.String("key"),

	// the properties below are optional
	ETag: jsii.String("eTag"),
	Version: jsii.String("version"),
}

type CfnProject

type CfnProject interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// The time that the project was created.
	AttrCreationTime() *string
	// The Amazon Resource Name (ARN) of the project.
	AttrProjectArn() *string
	// The ID of the project.
	//
	// This ID is prepended to all entities associated with this project.
	AttrProjectId() *string
	// The status of the project.
	AttrProjectStatus() *string
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The tree node.
	Node() constructs.Node
	// The description of the project.
	ProjectDescription() *string
	SetProjectDescription(val *string)
	// The name of the project.
	ProjectName() *string
	SetProjectName(val *string)
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// `AWS::SageMaker::Project.ServiceCatalogProvisionedProductDetails`.
	ServiceCatalogProvisionedProductDetails() interface{}
	SetServiceCatalogProvisionedProductDetails(val interface{})
	// The product ID and provisioning artifact ID to provision a service catalog.
	//
	// For information, see [What is AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/introduction.html) .
	ServiceCatalogProvisioningDetails() interface{}
	SetServiceCatalogProvisioningDetails(val interface{})
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// A list of key-value pairs to apply to this resource.
	//
	// For more information, see [Resource Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) and [Using Cost Allocation Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what) in the *AWS Billing and Cost Management User Guide* .
	Tags() awscdk.TagManager
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// 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`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::SageMaker::Project`.

Creates a machine learning (ML) project that can contain one or more templates that set up an ML pipeline from training to deploying an approved model.

Example:

// 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"

var serviceCatalogProvisioningDetails interface{}

cfnProject := awscdk.Aws_sagemaker.NewCfnProject(this, jsii.String("MyCfnProject"), &CfnProjectProps{
	ProjectName: jsii.String("projectName"),
	ServiceCatalogProvisioningDetails: serviceCatalogProvisioningDetails,

	// the properties below are optional
	ProjectDescription: jsii.String("projectDescription"),
	ServiceCatalogProvisionedProductDetails: &ServiceCatalogProvisionedProductDetailsProperty{
		ProvisionedProductId: jsii.String("provisionedProductId"),
		ProvisionedProductStatusMessage: jsii.String("provisionedProductStatusMessage"),
	},
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
})

func NewCfnProject

func NewCfnProject(scope constructs.Construct, id *string, props *CfnProjectProps) CfnProject

Create a new `AWS::SageMaker::Project`.

type CfnProjectProps

type CfnProjectProps struct {
	// The name of the project.
	ProjectName *string `field:"required" json:"projectName" yaml:"projectName"`
	// The product ID and provisioning artifact ID to provision a service catalog.
	//
	// For information, see [What is AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/introduction.html) .
	ServiceCatalogProvisioningDetails interface{} `field:"required" json:"serviceCatalogProvisioningDetails" yaml:"serviceCatalogProvisioningDetails"`
	// The description of the project.
	ProjectDescription *string `field:"optional" json:"projectDescription" yaml:"projectDescription"`
	// `AWS::SageMaker::Project.ServiceCatalogProvisionedProductDetails`.
	ServiceCatalogProvisionedProductDetails interface{} `field:"optional" json:"serviceCatalogProvisionedProductDetails" yaml:"serviceCatalogProvisionedProductDetails"`
	// A list of key-value pairs to apply to this resource.
	//
	// For more information, see [Resource Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) and [Using Cost Allocation Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what) in the *AWS Billing and Cost Management User Guide* .
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
}

Properties for defining a `CfnProject`.

Example:

// 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"

var serviceCatalogProvisioningDetails interface{}

cfnProjectProps := &CfnProjectProps{
	ProjectName: jsii.String("projectName"),
	ServiceCatalogProvisioningDetails: serviceCatalogProvisioningDetails,

	// the properties below are optional
	ProjectDescription: jsii.String("projectDescription"),
	ServiceCatalogProvisionedProductDetails: &ServiceCatalogProvisionedProductDetailsProperty{
		ProvisionedProductId: jsii.String("provisionedProductId"),
		ProvisionedProductStatusMessage: jsii.String("provisionedProductStatusMessage"),
	},
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
}

type CfnProject_ProvisioningParameterProperty added in v2.55.0

type CfnProject_ProvisioningParameterProperty struct {
	// The key that identifies a provisioning parameter.
	Key *string `field:"required" json:"key" yaml:"key"`
	// The value of the provisioning parameter.
	Value *string `field:"required" json:"value" yaml:"value"`
}

A key value pair used when you provision a project as a service catalog product.

For information, see [What is AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/introduction.html) .

Example:

// 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"

provisioningParameterProperty := &ProvisioningParameterProperty{
	Key: jsii.String("key"),
	Value: jsii.String("value"),
}

type CfnProject_ServiceCatalogProvisionedProductDetailsProperty added in v2.55.0

type CfnProject_ServiceCatalogProvisionedProductDetailsProperty struct {
	// The ID of the provisioned product.
	ProvisionedProductId *string `field:"optional" json:"provisionedProductId" yaml:"provisionedProductId"`
	// The current status of the product.
	//
	// - `AVAILABLE` - Stable state, ready to perform any operation. The most recent operation succeeded and completed.
	// - `UNDER_CHANGE` - Transitive state. Operations performed might not have valid results. Wait for an AVAILABLE status before performing operations.
	// - `TAINTED` - Stable state, ready to perform any operation. The stack has completed the requested operation but is not exactly what was requested. For example, a request to update to a new version failed and the stack rolled back to the current version.
	// - `ERROR` - An unexpected error occurred. The provisioned product exists but the stack is not running. For example, CloudFormation received a parameter value that was not valid and could not launch the stack.
	// - `PLAN_IN_PROGRESS` - Transitive state. The plan operations were performed to provision a new product, but resources have not yet been created. After reviewing the list of resources to be created, execute the plan. Wait for an AVAILABLE status before performing operations.
	ProvisionedProductStatusMessage *string `field:"optional" json:"provisionedProductStatusMessage" yaml:"provisionedProductStatusMessage"`
}

Details of a provisioned service catalog product.

For information about service catalog, see [What is AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/introduction.html) .

Example:

// 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"

serviceCatalogProvisionedProductDetailsProperty := &ServiceCatalogProvisionedProductDetailsProperty{
	ProvisionedProductId: jsii.String("provisionedProductId"),
	ProvisionedProductStatusMessage: jsii.String("provisionedProductStatusMessage"),
}

type CfnProject_ServiceCatalogProvisioningDetailsProperty added in v2.55.0

type CfnProject_ServiceCatalogProvisioningDetailsProperty struct {
	// The ID of the product to provision.
	ProductId *string `field:"required" json:"productId" yaml:"productId"`
	// The path identifier of the product.
	//
	// This value is optional if the product has a default path, and required if the product has more than one path.
	PathId *string `field:"optional" json:"pathId" yaml:"pathId"`
	// The ID of the provisioning artifact.
	ProvisioningArtifactId *string `field:"optional" json:"provisioningArtifactId" yaml:"provisioningArtifactId"`
	// A list of key value pairs that you specify when you provision a product.
	ProvisioningParameters interface{} `field:"optional" json:"provisioningParameters" yaml:"provisioningParameters"`
}

Details that you specify to provision a service catalog product.

For information about service catalog, see [What is AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/introduction.html) .

Example:

// 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"

serviceCatalogProvisioningDetailsProperty := &ServiceCatalogProvisioningDetailsProperty{
	ProductId: jsii.String("productId"),

	// the properties below are optional
	PathId: jsii.String("pathId"),
	ProvisioningArtifactId: jsii.String("provisioningArtifactId"),
	ProvisioningParameters: []interface{}{
		&ProvisioningParameterProperty{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
}

type CfnSpace added in v2.70.0

type CfnSpace interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// The space's Amazon Resource Name (ARN).
	AttrSpaceArn() *string
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// The ID of the associated Domain.
	DomainId() *string
	SetDomainId(val *string)
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The tree node.
	Node() constructs.Node
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// The name of the space.
	SpaceName() *string
	SetSpaceName(val *string)
	// A collection of space settings.
	SpaceSettings() interface{}
	SetSpaceSettings(val interface{})
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// An array of key-value pairs to apply to this resource.
	//
	// For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .
	Tags() awscdk.TagManager
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// 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`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::SageMaker::Space`.

Creates a space used for real time collaboration in a Domain.

Example:

// 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"

cfnSpace := awscdk.Aws_sagemaker.NewCfnSpace(this, jsii.String("MyCfnSpace"), &CfnSpaceProps{
	DomainId: jsii.String("domainId"),
	SpaceName: jsii.String("spaceName"),

	// the properties below are optional
	SpaceSettings: &SpaceSettingsProperty{
		JupyterServerAppSettings: &JupyterServerAppSettingsProperty{
			DefaultResourceSpec: &ResourceSpecProperty{
				InstanceType: jsii.String("instanceType"),
				SageMakerImageArn: jsii.String("sageMakerImageArn"),
				SageMakerImageVersionArn: jsii.String("sageMakerImageVersionArn"),
			},
		},
		KernelGatewayAppSettings: &KernelGatewayAppSettingsProperty{
			CustomImages: []interface{}{
				&CustomImageProperty{
					AppImageConfigName: jsii.String("appImageConfigName"),
					ImageName: jsii.String("imageName"),

					// the properties below are optional
					ImageVersionNumber: jsii.Number(123),
				},
			},
			DefaultResourceSpec: &ResourceSpecProperty{
				InstanceType: jsii.String("instanceType"),
				SageMakerImageArn: jsii.String("sageMakerImageArn"),
				SageMakerImageVersionArn: jsii.String("sageMakerImageVersionArn"),
			},
		},
	},
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
})

func NewCfnSpace added in v2.70.0

func NewCfnSpace(scope constructs.Construct, id *string, props *CfnSpaceProps) CfnSpace

Create a new `AWS::SageMaker::Space`.

type CfnSpaceProps added in v2.70.0

type CfnSpaceProps struct {
	// The ID of the associated Domain.
	DomainId *string `field:"required" json:"domainId" yaml:"domainId"`
	// The name of the space.
	SpaceName *string `field:"required" json:"spaceName" yaml:"spaceName"`
	// A collection of space settings.
	SpaceSettings interface{} `field:"optional" json:"spaceSettings" yaml:"spaceSettings"`
	// An array of key-value pairs to apply to this resource.
	//
	// For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
}

Properties for defining a `CfnSpace`.

Example:

// 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"

cfnSpaceProps := &CfnSpaceProps{
	DomainId: jsii.String("domainId"),
	SpaceName: jsii.String("spaceName"),

	// the properties below are optional
	SpaceSettings: &SpaceSettingsProperty{
		JupyterServerAppSettings: &JupyterServerAppSettingsProperty{
			DefaultResourceSpec: &ResourceSpecProperty{
				InstanceType: jsii.String("instanceType"),
				SageMakerImageArn: jsii.String("sageMakerImageArn"),
				SageMakerImageVersionArn: jsii.String("sageMakerImageVersionArn"),
			},
		},
		KernelGatewayAppSettings: &KernelGatewayAppSettingsProperty{
			CustomImages: []interface{}{
				&CustomImageProperty{
					AppImageConfigName: jsii.String("appImageConfigName"),
					ImageName: jsii.String("imageName"),

					// the properties below are optional
					ImageVersionNumber: jsii.Number(123),
				},
			},
			DefaultResourceSpec: &ResourceSpecProperty{
				InstanceType: jsii.String("instanceType"),
				SageMakerImageArn: jsii.String("sageMakerImageArn"),
				SageMakerImageVersionArn: jsii.String("sageMakerImageVersionArn"),
			},
		},
	},
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
}

type CfnSpace_CustomImageProperty added in v2.70.0

type CfnSpace_CustomImageProperty struct {
	// The name of the AppImageConfig.
	AppImageConfigName *string `field:"required" json:"appImageConfigName" yaml:"appImageConfigName"`
	// The name of the CustomImage.
	//
	// Must be unique to your account.
	ImageName *string `field:"required" json:"imageName" yaml:"imageName"`
	// The version number of the CustomImage.
	ImageVersionNumber *float64 `field:"optional" json:"imageVersionNumber" yaml:"imageVersionNumber"`
}

A custom SageMaker image.

For more information, see [Bring your own SageMaker image](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-byoi.html) .

Example:

// 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"

customImageProperty := &CustomImageProperty{
	AppImageConfigName: jsii.String("appImageConfigName"),
	ImageName: jsii.String("imageName"),

	// the properties below are optional
	ImageVersionNumber: jsii.Number(123),
}

type CfnSpace_JupyterServerAppSettingsProperty added in v2.70.0

type CfnSpace_JupyterServerAppSettingsProperty struct {
	// The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterServer app.
	//
	// If you use the `LifecycleConfigArns` parameter, then this parameter is also required.
	DefaultResourceSpec interface{} `field:"optional" json:"defaultResourceSpec" yaml:"defaultResourceSpec"`
}

The JupyterServer app settings.

Example:

// 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"

jupyterServerAppSettingsProperty := &JupyterServerAppSettingsProperty{
	DefaultResourceSpec: &ResourceSpecProperty{
		InstanceType: jsii.String("instanceType"),
		SageMakerImageArn: jsii.String("sageMakerImageArn"),
		SageMakerImageVersionArn: jsii.String("sageMakerImageVersionArn"),
	},
}

type CfnSpace_KernelGatewayAppSettingsProperty added in v2.70.0

type CfnSpace_KernelGatewayAppSettingsProperty struct {
	// A list of custom SageMaker images that are configured to run as a KernelGateway app.
	CustomImages interface{} `field:"optional" json:"customImages" yaml:"customImages"`
	// The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the KernelGateway app.
	//
	// > The Amazon SageMaker Studio UI does not use the default instance type value set here. The default instance type set here is used when Apps are created using the AWS Command Line Interface or AWS CloudFormation and the instance type parameter value is not passed.
	DefaultResourceSpec interface{} `field:"optional" json:"defaultResourceSpec" yaml:"defaultResourceSpec"`
}

The KernelGateway app settings.

Example:

// 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"

kernelGatewayAppSettingsProperty := &KernelGatewayAppSettingsProperty{
	CustomImages: []interface{}{
		&CustomImageProperty{
			AppImageConfigName: jsii.String("appImageConfigName"),
			ImageName: jsii.String("imageName"),

			// the properties below are optional
			ImageVersionNumber: jsii.Number(123),
		},
	},
	DefaultResourceSpec: &ResourceSpecProperty{
		InstanceType: jsii.String("instanceType"),
		SageMakerImageArn: jsii.String("sageMakerImageArn"),
		SageMakerImageVersionArn: jsii.String("sageMakerImageVersionArn"),
	},
}

type CfnSpace_ResourceSpecProperty added in v2.70.0

type CfnSpace_ResourceSpecProperty struct {
	// The instance type that the image version runs on.
	//
	// > *JupyterServer apps* only support the `system` value.
	// >
	// > For *KernelGateway apps* , the `system` value is translated to `ml.t3.medium` . KernelGateway apps also support all other values for available instance types.
	InstanceType *string `field:"optional" json:"instanceType" yaml:"instanceType"`
	// The ARN of the SageMaker image that the image version belongs to.
	SageMakerImageArn *string `field:"optional" json:"sageMakerImageArn" yaml:"sageMakerImageArn"`
	// The ARN of the image version created on the instance.
	SageMakerImageVersionArn *string `field:"optional" json:"sageMakerImageVersionArn" yaml:"sageMakerImageVersionArn"`
}

Specifies the ARN's of a SageMaker image and SageMaker image version, and the instance type that the version runs on.

Example:

// 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"

resourceSpecProperty := &ResourceSpecProperty{
	InstanceType: jsii.String("instanceType"),
	SageMakerImageArn: jsii.String("sageMakerImageArn"),
	SageMakerImageVersionArn: jsii.String("sageMakerImageVersionArn"),
}

type CfnSpace_SpaceSettingsProperty added in v2.70.0

type CfnSpace_SpaceSettingsProperty struct {
	// The JupyterServer app settings.
	JupyterServerAppSettings interface{} `field:"optional" json:"jupyterServerAppSettings" yaml:"jupyterServerAppSettings"`
	// The KernelGateway app settings.
	KernelGatewayAppSettings interface{} `field:"optional" json:"kernelGatewayAppSettings" yaml:"kernelGatewayAppSettings"`
}

A collection of space settings.

Example:

// 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"

spaceSettingsProperty := &SpaceSettingsProperty{
	JupyterServerAppSettings: &JupyterServerAppSettingsProperty{
		DefaultResourceSpec: &ResourceSpecProperty{
			InstanceType: jsii.String("instanceType"),
			SageMakerImageArn: jsii.String("sageMakerImageArn"),
			SageMakerImageVersionArn: jsii.String("sageMakerImageVersionArn"),
		},
	},
	KernelGatewayAppSettings: &KernelGatewayAppSettingsProperty{
		CustomImages: []interface{}{
			&CustomImageProperty{
				AppImageConfigName: jsii.String("appImageConfigName"),
				ImageName: jsii.String("imageName"),

				// the properties below are optional
				ImageVersionNumber: jsii.Number(123),
			},
		},
		DefaultResourceSpec: &ResourceSpecProperty{
			InstanceType: jsii.String("instanceType"),
			SageMakerImageArn: jsii.String("sageMakerImageArn"),
			SageMakerImageVersionArn: jsii.String("sageMakerImageVersionArn"),
		},
	},
}

type CfnUserProfile

type CfnUserProfile interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// The Amazon Resource Name (ARN) of the user profile, such as `arn:aws:sagemaker:us-west-2:account-id:user-profile/my-user-profile` .
	AttrUserProfileArn() *string
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// The domain ID.
	DomainId() *string
	SetDomainId(val *string)
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The tree node.
	Node() constructs.Node
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// A specifier for the type of value specified in SingleSignOnUserValue.
	//
	// Currently, the only supported value is "UserName". If the Domain's AuthMode is IAM Identity Center , this field is required. If the Domain's AuthMode is not IAM Identity Center , this field cannot be specified.
	SingleSignOnUserIdentifier() *string
	SetSingleSignOnUserIdentifier(val *string)
	// The username of the associated AWS Single Sign-On User for this UserProfile.
	//
	// If the Domain's AuthMode is IAM Identity Center , this field is required, and must match a valid username of a user in your directory. If the Domain's AuthMode is not IAM Identity Center , this field cannot be specified.
	SingleSignOnUserValue() *string
	SetSingleSignOnUserValue(val *string)
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// An array of key-value pairs to apply to this resource.
	//
	// Tags that you specify for the User Profile are also added to all apps that the User Profile launches.
	//
	// For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .
	Tags() awscdk.TagManager
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// The user profile name.
	UserProfileName() *string
	SetUserProfileName(val *string)
	// A collection of settings that apply to users of Amazon SageMaker Studio.
	UserSettings() interface{}
	SetUserSettings(val interface{})
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// 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`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::SageMaker::UserProfile`.

Creates a user profile. A user profile represents a single user within a domain, and is the main way to reference a "person" for the purposes of sharing, reporting, and other user-oriented features. This entity is created when a user onboards to Amazon SageMaker Studio. If an administrator invites a person by email or imports them from IAM Identity Center , a user profile is automatically created. A user profile is the primary holder of settings for an individual user and has a reference to the user's private Amazon Elastic File System (EFS) home directory.

> If you're using IAM Identity Center authentication, a user in IAM Identity Center , or a group in IAM Identity Center containing that user, must be assigned to the Amazon SageMaker Studio application from the IAM Identity Center Console to create a user profile. For more information about application assignment, see [Assign user access](https://docs.aws.amazon.com/singlesignon/latest/userguide/assignuserstoapp.html) . After assignment is complete, a user profile can be created for that user in IAM Identity Center with AWS CloudFormation.

Example:

// 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"

cfnUserProfile := awscdk.Aws_sagemaker.NewCfnUserProfile(this, jsii.String("MyCfnUserProfile"), &CfnUserProfileProps{
	DomainId: jsii.String("domainId"),
	UserProfileName: jsii.String("userProfileName"),

	// the properties below are optional
	SingleSignOnUserIdentifier: jsii.String("singleSignOnUserIdentifier"),
	SingleSignOnUserValue: jsii.String("singleSignOnUserValue"),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
	UserSettings: &UserSettingsProperty{
		ExecutionRole: jsii.String("executionRole"),
		JupyterServerAppSettings: &JupyterServerAppSettingsProperty{
			DefaultResourceSpec: &ResourceSpecProperty{
				InstanceType: jsii.String("instanceType"),
				SageMakerImageArn: jsii.String("sageMakerImageArn"),
				SageMakerImageVersionArn: jsii.String("sageMakerImageVersionArn"),
			},
		},
		KernelGatewayAppSettings: &KernelGatewayAppSettingsProperty{
			CustomImages: []interface{}{
				&CustomImageProperty{
					AppImageConfigName: jsii.String("appImageConfigName"),
					ImageName: jsii.String("imageName"),

					// the properties below are optional
					ImageVersionNumber: jsii.Number(123),
				},
			},
			DefaultResourceSpec: &ResourceSpecProperty{
				InstanceType: jsii.String("instanceType"),
				SageMakerImageArn: jsii.String("sageMakerImageArn"),
				SageMakerImageVersionArn: jsii.String("sageMakerImageVersionArn"),
			},
		},
		RStudioServerProAppSettings: &RStudioServerProAppSettingsProperty{
			AccessStatus: jsii.String("accessStatus"),
			UserGroup: jsii.String("userGroup"),
		},
		SecurityGroups: []*string{
			jsii.String("securityGroups"),
		},
		SharingSettings: &SharingSettingsProperty{
			NotebookOutputOption: jsii.String("notebookOutputOption"),
			S3KmsKeyId: jsii.String("s3KmsKeyId"),
			S3OutputPath: jsii.String("s3OutputPath"),
		},
	},
})

func NewCfnUserProfile

func NewCfnUserProfile(scope constructs.Construct, id *string, props *CfnUserProfileProps) CfnUserProfile

Create a new `AWS::SageMaker::UserProfile`.

type CfnUserProfileProps

type CfnUserProfileProps struct {
	// The domain ID.
	DomainId *string `field:"required" json:"domainId" yaml:"domainId"`
	// The user profile name.
	UserProfileName *string `field:"required" json:"userProfileName" yaml:"userProfileName"`
	// A specifier for the type of value specified in SingleSignOnUserValue.
	//
	// Currently, the only supported value is "UserName". If the Domain's AuthMode is IAM Identity Center , this field is required. If the Domain's AuthMode is not IAM Identity Center , this field cannot be specified.
	SingleSignOnUserIdentifier *string `field:"optional" json:"singleSignOnUserIdentifier" yaml:"singleSignOnUserIdentifier"`
	// The username of the associated AWS Single Sign-On User for this UserProfile.
	//
	// If the Domain's AuthMode is IAM Identity Center , this field is required, and must match a valid username of a user in your directory. If the Domain's AuthMode is not IAM Identity Center , this field cannot be specified.
	SingleSignOnUserValue *string `field:"optional" json:"singleSignOnUserValue" yaml:"singleSignOnUserValue"`
	// An array of key-value pairs to apply to this resource.
	//
	// Tags that you specify for the User Profile are also added to all apps that the User Profile launches.
	//
	// For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
	// A collection of settings that apply to users of Amazon SageMaker Studio.
	UserSettings interface{} `field:"optional" json:"userSettings" yaml:"userSettings"`
}

Properties for defining a `CfnUserProfile`.

Example:

// 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"

cfnUserProfileProps := &CfnUserProfileProps{
	DomainId: jsii.String("domainId"),
	UserProfileName: jsii.String("userProfileName"),

	// the properties below are optional
	SingleSignOnUserIdentifier: jsii.String("singleSignOnUserIdentifier"),
	SingleSignOnUserValue: jsii.String("singleSignOnUserValue"),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
	UserSettings: &UserSettingsProperty{
		ExecutionRole: jsii.String("executionRole"),
		JupyterServerAppSettings: &JupyterServerAppSettingsProperty{
			DefaultResourceSpec: &ResourceSpecProperty{
				InstanceType: jsii.String("instanceType"),
				SageMakerImageArn: jsii.String("sageMakerImageArn"),
				SageMakerImageVersionArn: jsii.String("sageMakerImageVersionArn"),
			},
		},
		KernelGatewayAppSettings: &KernelGatewayAppSettingsProperty{
			CustomImages: []interface{}{
				&CustomImageProperty{
					AppImageConfigName: jsii.String("appImageConfigName"),
					ImageName: jsii.String("imageName"),

					// the properties below are optional
					ImageVersionNumber: jsii.Number(123),
				},
			},
			DefaultResourceSpec: &ResourceSpecProperty{
				InstanceType: jsii.String("instanceType"),
				SageMakerImageArn: jsii.String("sageMakerImageArn"),
				SageMakerImageVersionArn: jsii.String("sageMakerImageVersionArn"),
			},
		},
		RStudioServerProAppSettings: &RStudioServerProAppSettingsProperty{
			AccessStatus: jsii.String("accessStatus"),
			UserGroup: jsii.String("userGroup"),
		},
		SecurityGroups: []*string{
			jsii.String("securityGroups"),
		},
		SharingSettings: &SharingSettingsProperty{
			NotebookOutputOption: jsii.String("notebookOutputOption"),
			S3KmsKeyId: jsii.String("s3KmsKeyId"),
			S3OutputPath: jsii.String("s3OutputPath"),
		},
	},
}

type CfnUserProfile_CustomImageProperty

type CfnUserProfile_CustomImageProperty struct {
	// The name of the AppImageConfig.
	AppImageConfigName *string `field:"required" json:"appImageConfigName" yaml:"appImageConfigName"`
	// The name of the CustomImage.
	//
	// Must be unique to your account.
	ImageName *string `field:"required" json:"imageName" yaml:"imageName"`
	// The version number of the CustomImage.
	ImageVersionNumber *float64 `field:"optional" json:"imageVersionNumber" yaml:"imageVersionNumber"`
}

A custom SageMaker image.

For more information, see [Bring your own SageMaker image](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-byoi.html) .

Example:

// 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"

customImageProperty := &CustomImageProperty{
	AppImageConfigName: jsii.String("appImageConfigName"),
	ImageName: jsii.String("imageName"),

	// the properties below are optional
	ImageVersionNumber: jsii.Number(123),
}

type CfnUserProfile_JupyterServerAppSettingsProperty

type CfnUserProfile_JupyterServerAppSettingsProperty struct {
	// The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterServer app.
	DefaultResourceSpec interface{} `field:"optional" json:"defaultResourceSpec" yaml:"defaultResourceSpec"`
}

The JupyterServer app settings.

Example:

// 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"

jupyterServerAppSettingsProperty := &JupyterServerAppSettingsProperty{
	DefaultResourceSpec: &ResourceSpecProperty{
		InstanceType: jsii.String("instanceType"),
		SageMakerImageArn: jsii.String("sageMakerImageArn"),
		SageMakerImageVersionArn: jsii.String("sageMakerImageVersionArn"),
	},
}

type CfnUserProfile_KernelGatewayAppSettingsProperty

type CfnUserProfile_KernelGatewayAppSettingsProperty struct {
	// A list of custom SageMaker images that are configured to run as a KernelGateway app.
	CustomImages interface{} `field:"optional" json:"customImages" yaml:"customImages"`
	// The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the KernelGateway app.
	//
	// > The Amazon SageMaker Studio UI does not use the default instance type value set here. The default instance type set here is used when Apps are created using the AWS Command Line Interface or AWS CloudFormation and the instance type parameter value is not passed.
	DefaultResourceSpec interface{} `field:"optional" json:"defaultResourceSpec" yaml:"defaultResourceSpec"`
}

The KernelGateway app settings.

Example:

// 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"

kernelGatewayAppSettingsProperty := &KernelGatewayAppSettingsProperty{
	CustomImages: []interface{}{
		&CustomImageProperty{
			AppImageConfigName: jsii.String("appImageConfigName"),
			ImageName: jsii.String("imageName"),

			// the properties below are optional
			ImageVersionNumber: jsii.Number(123),
		},
	},
	DefaultResourceSpec: &ResourceSpecProperty{
		InstanceType: jsii.String("instanceType"),
		SageMakerImageArn: jsii.String("sageMakerImageArn"),
		SageMakerImageVersionArn: jsii.String("sageMakerImageVersionArn"),
	},
}

type CfnUserProfile_RStudioServerProAppSettingsProperty added in v2.20.0

type CfnUserProfile_RStudioServerProAppSettingsProperty struct {
	// Indicates whether the current user has access to the `RStudioServerPro` app.
	AccessStatus *string `field:"optional" json:"accessStatus" yaml:"accessStatus"`
	// The level of permissions that the user has within the `RStudioServerPro` app.
	//
	// This value defaults to `User`. The `Admin` value allows the user access to the RStudio Administrative Dashboard.
	UserGroup *string `field:"optional" json:"userGroup" yaml:"userGroup"`
}

A collection of settings that configure user interaction with the `RStudioServerPro` app.

Example:

// 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"

rStudioServerProAppSettingsProperty := &RStudioServerProAppSettingsProperty{
	AccessStatus: jsii.String("accessStatus"),
	UserGroup: jsii.String("userGroup"),
}

type CfnUserProfile_ResourceSpecProperty

type CfnUserProfile_ResourceSpecProperty struct {
	// The instance type that the image version runs on.
	//
	// > *JupyterServer apps* only support the `system` value.
	// >
	// > For *KernelGateway apps* , the `system` value is translated to `ml.t3.medium` . KernelGateway apps also support all other values for available instance types.
	InstanceType *string `field:"optional" json:"instanceType" yaml:"instanceType"`
	// The ARN of the SageMaker image that the image version belongs to.
	SageMakerImageArn *string `field:"optional" json:"sageMakerImageArn" yaml:"sageMakerImageArn"`
	// The ARN of the image version created on the instance.
	SageMakerImageVersionArn *string `field:"optional" json:"sageMakerImageVersionArn" yaml:"sageMakerImageVersionArn"`
}

Specifies the ARN's of a SageMaker image and SageMaker image version, and the instance type that the version runs on.

Example:

// 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"

resourceSpecProperty := &ResourceSpecProperty{
	InstanceType: jsii.String("instanceType"),
	SageMakerImageArn: jsii.String("sageMakerImageArn"),
	SageMakerImageVersionArn: jsii.String("sageMakerImageVersionArn"),
}

type CfnUserProfile_SharingSettingsProperty

type CfnUserProfile_SharingSettingsProperty struct {
	// Whether to include the notebook cell output when sharing the notebook.
	//
	// The default is `Disabled` .
	NotebookOutputOption *string `field:"optional" json:"notebookOutputOption" yaml:"notebookOutputOption"`
	// When `NotebookOutputOption` is `Allowed` , the AWS Key Management Service (KMS) encryption key ID used to encrypt the notebook cell output in the Amazon S3 bucket.
	S3KmsKeyId *string `field:"optional" json:"s3KmsKeyId" yaml:"s3KmsKeyId"`
	// When `NotebookOutputOption` is `Allowed` , the Amazon S3 bucket used to store the shared notebook snapshots.
	S3OutputPath *string `field:"optional" json:"s3OutputPath" yaml:"s3OutputPath"`
}

Specifies options when sharing an Amazon SageMaker Studio notebook.

These settings are specified as part of `DefaultUserSettings` when the [CreateDomain](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateDomain.html) API is called, and as part of `UserSettings` when the [CreateUserProfile](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateUserProfile.html) API is called.

Example:

// 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"

sharingSettingsProperty := &SharingSettingsProperty{
	NotebookOutputOption: jsii.String("notebookOutputOption"),
	S3KmsKeyId: jsii.String("s3KmsKeyId"),
	S3OutputPath: jsii.String("s3OutputPath"),
}

type CfnUserProfile_UserSettingsProperty

type CfnUserProfile_UserSettingsProperty struct {
	// The execution role for the user.
	ExecutionRole *string `field:"optional" json:"executionRole" yaml:"executionRole"`
	// The Jupyter server's app settings.
	JupyterServerAppSettings interface{} `field:"optional" json:"jupyterServerAppSettings" yaml:"jupyterServerAppSettings"`
	// The kernel gateway app settings.
	KernelGatewayAppSettings interface{} `field:"optional" json:"kernelGatewayAppSettings" yaml:"kernelGatewayAppSettings"`
	// A collection of settings that configure user interaction with the `RStudioServerPro` app.
	RStudioServerProAppSettings interface{} `field:"optional" json:"rStudioServerProAppSettings" yaml:"rStudioServerProAppSettings"`
	// The security groups for the Amazon Virtual Private Cloud (VPC) that Studio uses for communication.
	//
	// Optional when the `CreateDomain.AppNetworkAccessType` parameter is set to `PublicInternetOnly` .
	//
	// Required when the `CreateDomain.AppNetworkAccessType` parameter is set to `VpcOnly` , unless specified as part of the `DefaultUserSettings` for the domain.
	//
	// Amazon SageMaker adds a security group to allow NFS traffic from SageMaker Studio. Therefore, the number of security groups that you can specify is one less than the maximum number shown.
	SecurityGroups *[]*string `field:"optional" json:"securityGroups" yaml:"securityGroups"`
	// Specifies options for sharing SageMaker Studio notebooks.
	SharingSettings interface{} `field:"optional" json:"sharingSettings" yaml:"sharingSettings"`
}

A collection of settings that apply to users of Amazon SageMaker Studio.

These settings are specified when the [CreateUserProfile](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateUserProfile.html) API is called, and as `DefaultUserSettings` when the [CreateDomain](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateDomain.html) API is called.

`SecurityGroups` is aggregated when specified in both calls. For all other settings in `UserSettings` , the values specified in `CreateUserProfile` take precedence over those specified in `CreateDomain` .

Example:

// 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"

userSettingsProperty := &UserSettingsProperty{
	ExecutionRole: jsii.String("executionRole"),
	JupyterServerAppSettings: &JupyterServerAppSettingsProperty{
		DefaultResourceSpec: &ResourceSpecProperty{
			InstanceType: jsii.String("instanceType"),
			SageMakerImageArn: jsii.String("sageMakerImageArn"),
			SageMakerImageVersionArn: jsii.String("sageMakerImageVersionArn"),
		},
	},
	KernelGatewayAppSettings: &KernelGatewayAppSettingsProperty{
		CustomImages: []interface{}{
			&CustomImageProperty{
				AppImageConfigName: jsii.String("appImageConfigName"),
				ImageName: jsii.String("imageName"),

				// the properties below are optional
				ImageVersionNumber: jsii.Number(123),
			},
		},
		DefaultResourceSpec: &ResourceSpecProperty{
			InstanceType: jsii.String("instanceType"),
			SageMakerImageArn: jsii.String("sageMakerImageArn"),
			SageMakerImageVersionArn: jsii.String("sageMakerImageVersionArn"),
		},
	},
	RStudioServerProAppSettings: &RStudioServerProAppSettingsProperty{
		AccessStatus: jsii.String("accessStatus"),
		UserGroup: jsii.String("userGroup"),
	},
	SecurityGroups: []*string{
		jsii.String("securityGroups"),
	},
	SharingSettings: &SharingSettingsProperty{
		NotebookOutputOption: jsii.String("notebookOutputOption"),
		S3KmsKeyId: jsii.String("s3KmsKeyId"),
		S3OutputPath: jsii.String("s3OutputPath"),
	},
}

type CfnWorkteam

type CfnWorkteam interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// The name of the work team.
	AttrWorkteamName() *string
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// A description of the work team.
	Description() *string
	SetDescription(val *string)
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// A list of `MemberDefinition` objects that contains objects that identify the workers that make up the work team.
	//
	// Workforces can be created using Amazon Cognito or your own OIDC Identity Provider (IdP). For private workforces created using Amazon Cognito use `CognitoMemberDefinition` . For workforces created using your own OIDC identity provider (IdP) use `OidcMemberDefinition` .
	MemberDefinitions() interface{}
	SetMemberDefinitions(val interface{})
	// The tree node.
	Node() constructs.Node
	// Configures SNS notifications of available or expiring work items for work teams.
	NotificationConfiguration() interface{}
	SetNotificationConfiguration(val interface{})
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// An array of key-value pairs.
	Tags() awscdk.TagManager
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// `AWS::SageMaker::Workteam.WorkforceName`.
	WorkforceName() *string
	SetWorkforceName(val *string)
	// The name of the work team.
	WorkteamName() *string
	SetWorkteamName(val *string)
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// 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`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::SageMaker::Workteam`.

Creates a new work team for labeling your data. A work team is defined by one or more Amazon Cognito user pools. You must first create the user pools before you can create a work team.

You cannot create more than 25 work teams in an account and region.

Example:

// 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"

cfnWorkteam := awscdk.Aws_sagemaker.NewCfnWorkteam(this, jsii.String("MyCfnWorkteam"), &CfnWorkteamProps{
	Description: jsii.String("description"),
	MemberDefinitions: []interface{}{
		&MemberDefinitionProperty{
			CognitoMemberDefinition: &CognitoMemberDefinitionProperty{
				CognitoClientId: jsii.String("cognitoClientId"),
				CognitoUserGroup: jsii.String("cognitoUserGroup"),
				CognitoUserPool: jsii.String("cognitoUserPool"),
			},
			OidcMemberDefinition: &OidcMemberDefinitionProperty{
				OidcGroups: []*string{
					jsii.String("oidcGroups"),
				},
			},
		},
	},
	NotificationConfiguration: &NotificationConfigurationProperty{
		NotificationTopicArn: jsii.String("notificationTopicArn"),
	},
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
	WorkforceName: jsii.String("workforceName"),
	WorkteamName: jsii.String("workteamName"),
})

func NewCfnWorkteam

func NewCfnWorkteam(scope constructs.Construct, id *string, props *CfnWorkteamProps) CfnWorkteam

Create a new `AWS::SageMaker::Workteam`.

type CfnWorkteamProps

type CfnWorkteamProps struct {
	// A description of the work team.
	Description *string `field:"optional" json:"description" yaml:"description"`
	// A list of `MemberDefinition` objects that contains objects that identify the workers that make up the work team.
	//
	// Workforces can be created using Amazon Cognito or your own OIDC Identity Provider (IdP). For private workforces created using Amazon Cognito use `CognitoMemberDefinition` . For workforces created using your own OIDC identity provider (IdP) use `OidcMemberDefinition` .
	MemberDefinitions interface{} `field:"optional" json:"memberDefinitions" yaml:"memberDefinitions"`
	// Configures SNS notifications of available or expiring work items for work teams.
	NotificationConfiguration interface{} `field:"optional" json:"notificationConfiguration" yaml:"notificationConfiguration"`
	// An array of key-value pairs.
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
	// `AWS::SageMaker::Workteam.WorkforceName`.
	WorkforceName *string `field:"optional" json:"workforceName" yaml:"workforceName"`
	// The name of the work team.
	WorkteamName *string `field:"optional" json:"workteamName" yaml:"workteamName"`
}

Properties for defining a `CfnWorkteam`.

Example:

// 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"

cfnWorkteamProps := &CfnWorkteamProps{
	Description: jsii.String("description"),
	MemberDefinitions: []interface{}{
		&MemberDefinitionProperty{
			CognitoMemberDefinition: &CognitoMemberDefinitionProperty{
				CognitoClientId: jsii.String("cognitoClientId"),
				CognitoUserGroup: jsii.String("cognitoUserGroup"),
				CognitoUserPool: jsii.String("cognitoUserPool"),
			},
			OidcMemberDefinition: &OidcMemberDefinitionProperty{
				OidcGroups: []*string{
					jsii.String("oidcGroups"),
				},
			},
		},
	},
	NotificationConfiguration: &NotificationConfigurationProperty{
		NotificationTopicArn: jsii.String("notificationTopicArn"),
	},
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
	WorkforceName: jsii.String("workforceName"),
	WorkteamName: jsii.String("workteamName"),
}

type CfnWorkteam_CognitoMemberDefinitionProperty

type CfnWorkteam_CognitoMemberDefinitionProperty struct {
	// An identifier for an application client.
	//
	// You must create the app client ID using Amazon Cognito.
	CognitoClientId *string `field:"required" json:"cognitoClientId" yaml:"cognitoClientId"`
	// An identifier for a user group.
	CognitoUserGroup *string `field:"required" json:"cognitoUserGroup" yaml:"cognitoUserGroup"`
	// An identifier for a user pool.
	//
	// The user pool must be in the same region as the service that you are calling.
	CognitoUserPool *string `field:"required" json:"cognitoUserPool" yaml:"cognitoUserPool"`
}

Identifies a Amazon Cognito user group.

A user group can be used in on or more work teams.

Example:

// 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"

cognitoMemberDefinitionProperty := &CognitoMemberDefinitionProperty{
	CognitoClientId: jsii.String("cognitoClientId"),
	CognitoUserGroup: jsii.String("cognitoUserGroup"),
	CognitoUserPool: jsii.String("cognitoUserPool"),
}

type CfnWorkteam_MemberDefinitionProperty

type CfnWorkteam_MemberDefinitionProperty struct {
	// The Amazon Cognito user group that is part of the work team.
	CognitoMemberDefinition interface{} `field:"optional" json:"cognitoMemberDefinition" yaml:"cognitoMemberDefinition"`
	// A list user groups that exist in your OIDC Identity Provider (IdP).
	//
	// One to ten groups can be used to create a single private work team. When you add a user group to the list of `Groups` , you can add that user group to one or more private work teams. If you add a user group to a private work team, all workers in that user group are added to the work team.
	OidcMemberDefinition interface{} `field:"optional" json:"oidcMemberDefinition" yaml:"oidcMemberDefinition"`
}

Defines an Amazon Cognito or your own OIDC IdP user group that is part of a work team.

Example:

// 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"

memberDefinitionProperty := &MemberDefinitionProperty{
	CognitoMemberDefinition: &CognitoMemberDefinitionProperty{
		CognitoClientId: jsii.String("cognitoClientId"),
		CognitoUserGroup: jsii.String("cognitoUserGroup"),
		CognitoUserPool: jsii.String("cognitoUserPool"),
	},
	OidcMemberDefinition: &OidcMemberDefinitionProperty{
		OidcGroups: []*string{
			jsii.String("oidcGroups"),
		},
	},
}

type CfnWorkteam_NotificationConfigurationProperty

type CfnWorkteam_NotificationConfigurationProperty struct {
	// The ARN for the Amazon SNS topic to which notifications should be published.
	NotificationTopicArn *string `field:"required" json:"notificationTopicArn" yaml:"notificationTopicArn"`
}

Configures Amazon SNS notifications of available or expiring work items for work teams.

Example:

// 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"

notificationConfigurationProperty := &NotificationConfigurationProperty{
	NotificationTopicArn: jsii.String("notificationTopicArn"),
}

type CfnWorkteam_OidcMemberDefinitionProperty added in v2.45.0

type CfnWorkteam_OidcMemberDefinitionProperty struct {
	// `CfnWorkteam.OidcMemberDefinitionProperty.OidcGroups`.
	OidcGroups *[]*string `field:"required" json:"oidcGroups" yaml:"oidcGroups"`
}

A list of user groups that exist in your OIDC Identity Provider (IdP).

One to ten groups can be used to create a single private work team. When you add a user group to the list of `Groups` , you can add that user group to one or more private work teams. If you add a user group to a private work team, all workers in that user group are added to the work team.

Example:

// 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"

oidcMemberDefinitionProperty := &OidcMemberDefinitionProperty{
	OidcGroups: []*string{
		jsii.String("oidcGroups"),
	},
}

Source Files

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL