awssagemaker

package
v2.33.0 Latest Latest
Warning

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

Go to latest
Published: Jul 19, 2022 License: Apache-2.0 Imports: 6 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:

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 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 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 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 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 NewCfnModelBiasJobDefinition_Override

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

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

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 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 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.
	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) 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)
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// 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. Supported apps are `JupyterServer` and `KernelGateway` . 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.
	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) 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)
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// 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. KernelGateway Apps do not support the `system` value, but 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.
	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) 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)
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// 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{})
	// 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.
	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) 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)
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// 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{
		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"),
		},
	},
	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"`
	// 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{
		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"),
		},
	},
	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_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"`
	// `CfnDataQualityJobDefinition.ClusterConfigProperty.InstanceType`.
	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_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.EndpointInput`.
	EndpointInput interface{} `field:"required" 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{
	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_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_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.
	//
	// 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.
	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.
	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) 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)
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// 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.
	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) 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)
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// 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.
	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 AWS SSO 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
	// 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.
	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) 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)
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// 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. An AWS account is limited to one domain per region. 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"),
		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"),
		},
	},
	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"),
	domainSettings: &domainSettingsProperty{
		rStudioServerProDomainSettings: &rStudioServerProDomainSettingsProperty{
			domainExecutionRoleArn: jsii.String("domainExecutionRoleArn"),

			// the properties below are optional
			defaultResourceSpec: &resourceSpecProperty{
				instanceType: jsii.String("instanceType"),
				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.
	AppSecurityGroupManagement *string `field:"optional" json:"appSecurityGroupManagement" yaml:"appSecurityGroupManagement"`
	// 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"),
		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"),
		},
	},
	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"),
	domainSettings: &domainSettingsProperty{
		rStudioServerProDomainSettings: &rStudioServerProDomainSettingsProperty{
			domainExecutionRoleArn: jsii.String("domainExecutionRoleArn"),

			// the properties below are optional
			defaultResourceSpec: &resourceSpecProperty{
				instanceType: jsii.String("instanceType"),
				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_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"),
			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.
	//
	// 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 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"),
		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.

`RStudioServerProAppSettings` cannot be updated. The `RStudioServerPro` app must be deleted and a new one created to make any changes.

Example:

// The code below 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"),
		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. KernelGateway Apps do not support the `system` value, but 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 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:"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` .
	//
	// 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 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.
	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) 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)
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// 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)
	// 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
	// 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.
	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) 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)
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// 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"),
			initialInstanceCount: jsii.Number(123),
			instanceType: jsii.String("instanceType"),
			serverlessConfig: &serverlessConfigProperty{
				maxConcurrency: jsii.Number(123),
				memorySizeInMb: jsii.Number(123),
			},
		},
	},

	// the properties below are optional
	asyncInferenceConfig: &asyncInferenceConfigProperty{
		outputConfig: &asyncInferenceOutputConfigProperty{
			s3OutputPath: jsii.String("s3OutputPath"),

			// the properties below are optional
			kmsKeyId: jsii.String("kmsKeyId"),
			notificationConfig: &asyncInferenceNotificationConfigProperty{
				errorTopic: jsii.String("errorTopic"),
				successTopic: jsii.String("successTopic"),
			},
		},

		// 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"),
	kmsKeyId: jsii.String("kmsKeyId"),
	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"`
	// 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"`
	// 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"),
			initialInstanceCount: jsii.Number(123),
			instanceType: jsii.String("instanceType"),
			serverlessConfig: &serverlessConfigProperty{
				maxConcurrency: jsii.Number(123),
				memorySizeInMb: jsii.Number(123),
			},
		},
	},

	// the properties below are optional
	asyncInferenceConfig: &asyncInferenceConfigProperty{
		outputConfig: &asyncInferenceOutputConfigProperty{
			s3OutputPath: jsii.String("s3OutputPath"),

			// the properties below are optional
			kmsKeyId: jsii.String("kmsKeyId"),
			notificationConfig: &asyncInferenceNotificationConfigProperty{
				errorTopic: jsii.String("errorTopic"),
				successTopic: jsii.String("successTopic"),
			},
		},

		// 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"),
	kmsKeyId: jsii.String("kmsKeyId"),
	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{
		s3OutputPath: jsii.String("s3OutputPath"),

		// the properties below are optional
		kmsKeyId: jsii.String("kmsKeyId"),
		notificationConfig: &asyncInferenceNotificationConfigProperty{
			errorTopic: jsii.String("errorTopic"),
			successTopic: jsii.String("successTopic"),
		},
	},

	// 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"`
	// 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"),
	successTopic: jsii.String("successTopic"),
}

type CfnEndpointConfig_AsyncInferenceOutputConfigProperty

type CfnEndpointConfig_AsyncInferenceOutputConfigProperty struct {
	// The Amazon S3 location to upload inference responses to.
	S3OutputPath *string `field:"required" json:"s3OutputPath" yaml:"s3OutputPath"`
	// 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"`
}

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{
	s3OutputPath: jsii.String("s3OutputPath"),

	// the properties below are optional
	kmsKeyId: jsii.String("kmsKeyId"),
	notificationConfig: &asyncInferenceNotificationConfigProperty{
		errorTopic: jsii.String("errorTopic"),
		successTopic: jsii.String("successTopic"),
	},
}

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_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_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"`
	// 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"`
	// 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"`
}

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"),
	initialInstanceCount: jsii.Number(123),
	instanceType: jsii.String("instanceType"),
	serverlessConfig: &serverlessConfigProperty{
		maxConcurrency: jsii.Number(123),
		memorySizeInMb: 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"`
}

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),
}

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.
	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) 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)
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// 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_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 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.
	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) 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)
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// 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.
	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) 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)
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// 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 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.
	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) 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)
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// 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
	// 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.
	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) 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)
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// 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{
		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"),
		},
		groundTruthS3Input: &monitoringGroundTruthS3InputProperty{
			s3Uri: jsii.String("s3Uri"),
		},
	},
	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
	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"`
	// 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{
		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"),
		},
		groundTruthS3Input: &monitoringGroundTruthS3InputProperty{
			s3Uri: jsii.String("s3Uri"),
		},
	},
	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
	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_ClusterConfigProperty

type CfnModelBiasJobDefinition_ClusterConfigProperty struct {
	// `CfnModelBiasJobDefinition.ClusterConfigProperty.InstanceCount`.
	InstanceCount *float64 `field:"required" json:"instanceCount" yaml:"instanceCount"`
	// `CfnModelBiasJobDefinition.ClusterConfigProperty.InstanceType`.
	InstanceType *string `field:"required" json:"instanceType" yaml:"instanceType"`
	// `CfnModelBiasJobDefinition.ClusterConfigProperty.VolumeSizeInGB`.
	VolumeSizeInGb *float64 `field:"required" json:"volumeSizeInGb" yaml:"volumeSizeInGb"`
	// `CfnModelBiasJobDefinition.ClusterConfigProperty.VolumeKmsKeyId`.
	VolumeKmsKeyId *string `field:"optional" json:"volumeKmsKeyId" yaml:"volumeKmsKeyId"`
}

Example:

// The code below 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_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_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/json-bias-parameter-config.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 {
	// Input object for the endpoint.
	EndpointInput interface{} `field:"required" json:"endpointInput" yaml:"endpointInput"`
	// Location of ground truth labels to use in model bias job.
	GroundTruthS3Input interface{} `field:"required" json:"groundTruthS3Input" yaml:"groundTruthS3Input"`
}

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{
	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"),
	},
	groundTruthS3Input: &monitoringGroundTruthS3InputProperty{
		s3Uri: jsii.String("s3Uri"),
	},
}

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.
	//
	// 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.
	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 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
	// 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
	// `AWS::SageMaker::ModelExplainabilityJobDefinition.StoppingCondition`.
	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.
	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) 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)
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// 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{
		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
	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"`
	// 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"`
	// `AWS::SageMaker::ModelExplainabilityJobDefinition.StoppingCondition`.
	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{
		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
	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_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"`
}

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 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_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/json-model-explainability-parameter-config.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.EndpointInput`.
	EndpointInput interface{} `field:"required" 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{
	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"`
	// `CfnModelExplainabilityJobDefinition.NetworkConfigProperty.VpcConfig`.
	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.
	//
	// 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.
	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 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.
	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) 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)
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// 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 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
	// 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.
	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) 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)
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// 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{
		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"),
		},
		groundTruthS3Input: &monitoringGroundTruthS3InputProperty{
			s3Uri: jsii.String("s3Uri"),
		},
	},
	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
	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"`
	// 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{
		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"),
		},
		groundTruthS3Input: &monitoringGroundTruthS3InputProperty{
			s3Uri: jsii.String("s3Uri"),
		},
	},
	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
	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_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_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_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 {
	// Input object for the endpoint.
	EndpointInput interface{} `field:"required" json:"endpointInput" yaml:"endpointInput"`
	// The ground truth label provided for the model.
	GroundTruthS3Input interface{} `field:"required" json:"groundTruthS3Input" yaml:"groundTruthS3Input"`
}

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{
	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"),
	},
	groundTruthS3Input: &monitoringGroundTruthS3InputProperty{
		s3Uri: jsii.String("s3Uri"),
	},
}

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.
	//
	// 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.
	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)
	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)
	ImageConfig interface{} `field:"optional" json:"imageConfig" yaml:"imageConfig"`
	// `CfnModel.ContainerDefinitionProperty.InferenceSpecificationName`.
	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 IAM user 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.
	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) 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)
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// 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{
					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{
					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_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_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_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 {
	// The endpoint for a monitoring job.
	EndpointInput interface{} `field:"required" 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{
	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{
			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{
				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.
	//
	// 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.
	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)
	// 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.
	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) 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)
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// 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"),
	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.
	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) 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)
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// 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"`
	// 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"),
	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 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.
	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) 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)
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// 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 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
	// 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.
	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) 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)
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// 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"),
	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"`
	// 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"),
	tags: []cfnTag{
		&cfnTag{
			key: jsii.String("key"),
			value: jsii.String("value"),
		},
	},
}

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 SSO, this field is required. If the Domain's AuthMode is not SSO, 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 SSO, this field is required, and must match a valid username of a user in your directory. If the Domain's AuthMode is not SSO, 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.
	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) 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)
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// 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 SSO, 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 SSO authentication, an SSO user, or an SSO group containing that user, must be assigned to the Amazon SageMaker Studio application from the AWS SSO 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 SSO user 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 SSO, this field is required. If the Domain's AuthMode is not SSO, 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 SSO, this field is required, and must match a valid username of a user in your directory. If the Domain's AuthMode is not SSO, 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.
	//
	// 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 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.

`RStudioServerProAppSettings` cannot be updated. The `RStudioServerPro` app must be deleted and a new one created to make any changes.

Example:

// The code below 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. KernelGateway Apps do not support the `system` value, but 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` .
	//
	// 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{}
	// 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.
	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) 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)
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// 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"),
			},
		},
	},
	notificationConfiguration: &notificationConfigurationProperty{
		notificationTopicArn: jsii.String("notificationTopicArn"),
	},
	tags: []cfnTag{
		&cfnTag{
			key: jsii.String("key"),
			value: jsii.String("value"),
		},
	},
	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"`
	// 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"),
			},
		},
	},
	notificationConfiguration: &notificationConfigurationProperty{
		notificationTopicArn: jsii.String("notificationTopicArn"),
	},
	tags: []cfnTag{
		&cfnTag{
			key: jsii.String("key"),
			value: jsii.String("value"),
		},
	},
	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:"required" json:"cognitoMemberDefinition" yaml:"cognitoMemberDefinition"`
}

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"),
	},
}

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"),
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL