createEdgeDeploymentPlan method

Future<CreateEdgeDeploymentPlanResponse> createEdgeDeploymentPlan({
  1. required String deviceFleetName,
  2. required String edgeDeploymentPlanName,
  3. required List<EdgeDeploymentModelConfig> modelConfigs,
  4. List<DeploymentStage>? stages,
  5. List<Tag>? tags,
})

Creates an edge deployment plan, consisting of multiple stages. Each stage may have a different deployment configuration and devices.

May throw ResourceLimitExceeded.

Parameter deviceFleetName : The device fleet used for this edge deployment plan.

Parameter edgeDeploymentPlanName : The name of the edge deployment plan.

Parameter modelConfigs : List of models associated with the edge deployment plan.

Parameter stages : List of stages of the edge deployment plan. The number of stages is limited to 10 per deployment.

Parameter tags : List of tags with which to tag the edge deployment plan.

Implementation

Future<CreateEdgeDeploymentPlanResponse> createEdgeDeploymentPlan({
  required String deviceFleetName,
  required String edgeDeploymentPlanName,
  required List<EdgeDeploymentModelConfig> modelConfigs,
  List<DeploymentStage>? stages,
  List<Tag>? tags,
}) async {
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'SageMaker.CreateEdgeDeploymentPlan'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'DeviceFleetName': deviceFleetName,
      'EdgeDeploymentPlanName': edgeDeploymentPlanName,
      'ModelConfigs': modelConfigs,
      if (stages != null) 'Stages': stages,
      if (tags != null) 'Tags': tags,
    },
  );

  return CreateEdgeDeploymentPlanResponse.fromJson(jsonResponse.body);
}