sagemaker.core.network

sagemaker.core.network#

This file contains code related to network configuration.

It also includes encryption, network isolation, and VPC configurations.

Functions

from_dict(vpc_config[, do_sanitize])

Extracts subnets and security group ids as lists from a VpcConfig dict

sanitize(vpc_config)

Checks and removes unexpected keys from VpcConfig or raises error for violations.

to_dict(subnets, security_group_ids)

Prepares a VpcConfig dict containing keys 'Subnets' and 'SecurityGroupIds'.

Classes

NetworkConfig([enable_network_isolation, ...])

Accepts network configuration parameters for conversion to request dict.

class sagemaker.core.network.NetworkConfig(enable_network_isolation: bool | PipelineVariable | None = None, security_group_ids: List[str | PipelineVariable] | None = None, subnets: List[str | PipelineVariable] | None = None, encrypt_inter_container_traffic: bool | PipelineVariable | None = None)[source]#

Bases: object

Accepts network configuration parameters for conversion to request dict.

The _to_request_dict provides a method to turn the parameters into a dict.

sagemaker.core.network.from_dict(vpc_config, do_sanitize=False)[source]#

Extracts subnets and security group ids as lists from a VpcConfig dict

Parameters:
  • vpc_config (dict) – a VpcConfig dict containing ‘Subnets’ and ‘SecurityGroupIds’

  • do_sanitize (bool) – whether to sanitize the VpcConfig dict before extracting values

Returns:

Tuple of lists as (subnets, security_group_ids) If vpc_config parameter is None, returns (None, None)

Raises:
  • * ValueError if sanitize enabled and vpc_config is invalid

  • * KeyError if sanitize disabled and vpc_config is missing key(s)

sagemaker.core.network.sanitize(vpc_config)[source]#

Checks and removes unexpected keys from VpcConfig or raises error for violations.

Checks that an instance of VpcConfig has the expected keys and values, removes unexpected keys, and raises ValueErrors if any expectations are violated.

Parameters:

vpc_config (dict) – a VpcConfig dict containing ‘Subnets’ and ‘SecurityGroupIds’

Returns:

A valid VpcConfig dict containing only ‘Subnets’ and ‘SecurityGroupIds’ from the vpc_config parameter If vpc_config parameter is None, returns None

Raises:

ValueError if any expectations are violated

  • vpc_config must be a non-empty dict * vpc_config must have key Subnets and the value must be a non-empty list * vpc_config must have key SecurityGroupIds and the value must be a non-empty list

sagemaker.core.network.to_dict(subnets, security_group_ids)[source]#

Prepares a VpcConfig dict containing keys ‘Subnets’ and ‘SecurityGroupIds’.

This is the dict format expected by SageMaker CreateTrainingJob and CreateModel APIs. See https://docs.aws.amazon.com/sagemaker/latest/dg/API_VpcConfig.html

Parameters:
  • subnets (list) – list of subnet IDs to use in VpcConfig

  • security_group_ids (list) – list of security group IDs to use in VpcConfig

Returns:

A VpcConfig dict containing keys ‘Subnets’ and ‘SecurityGroupIds’ If either or both parameters are None, returns None