1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
//! Amazon SageMaker (`sagemaker`) awsJson1.1 control-plane service for fakecloud.
//!
//! The full ~403-operation Amazon SageMaker Smithy model (SDK id `SageMaker`,
//! SigV4 signing name `sagemaker`, awsJson1.1 protocol). Every request is a
//! `POST /` whose operation is selected by the `X-Amz-Target: SageMaker.<Op>`
//! header, with all inputs carried in the JSON body (no HTTP path / label /
//! query bindings). The operation table, per-operation input constraints,
//! output member shapes, list element shapes, resource families and identifier
//! members are generated from the Smithy model (see `src/generated.rs`,
//! produced by `scripts/generate-sagemaker-tables.py`), so the control plane
//! tracks the model exactly.
//!
//! **What is real.** Every named resource family — models, endpoints, endpoint
//! configs, training / processing / transform / labeling / compilation / AutoML
//! / hyper-parameter-tuning jobs, notebook instances (+ lifecycle configs),
//! model packages (+ groups), pipelines, feature groups, domains, user
//! profiles, spaces, apps, images, experiments, trials, actions, artifacts,
//! contexts, clusters, inference components, monitoring schedules, workteams,
//! workforces, and the rest — mints a proper ARN, persists its accepted input
//! attributes plus creation / last-modified timestamps, and echoes them back
//! on `Describe*` / `List*`. Create is conflict-checked (`ResourceInUse`),
//! Describe / Update / Delete round-trip by the resource's identifier (name,
//! id, or ARN), and `AddTags` / `ListTags` / `DeleteTags` persist tags keyed by
//! ARN. State is account-partitioned and persisted across restarts. Input
//! validation is model-derived: required members, string `@length`, numeric
//! `@range`, and `@enum` constraints are enforced, returning SageMaker's
//! `ValidationException` / `ResourceNotFound` / `ResourceInUse`.
//!
//! **Honest emulation choices (documented, not stubbed):**
//! * This is the SageMaker **control plane** only. There is no ML execution
//! plane: training / processing / transform / AutoML / tuning jobs are
//! created, persisted and described, but no container is scheduled, no model
//! is trained, and no inference endpoint serves traffic. Jobs and endpoints
//! are not advanced through a live lifecycle by a background scheduler.
//! * Timestamps are emitted as awsJson1.1 epoch-second JSON numbers.
//! * A handful of resources whose `Describe*` identifier is a service-minted
//! Id / ARN distinct from the create-time Name (e.g. `Domain`, `ImageVersion`,
//! `ModelCardExportJob`) resolve by scanning the family's minted identifiers,
//! so a describe by the returned Id / ARN still round-trips.
pub use ;
pub use ;
/// Start a SageMaker pipeline execution from a cross-service delivery (an
/// EventBridge Scheduler `sagemaker:pipeline` target). Persists a
/// `PipelineExecution` record keyed by its minted ARN so
/// DescribePipelineExecution / ListPipelineExecutions resolve it — the same
/// shape the `StartPipelineExecution` API produces. `pipeline_arn` is
/// `arn:aws:sagemaker:<region>:<account>:pipeline/<name>`; `parameters` is the
/// target's `PipelineParameterList` (a JSON array, echoed onto the record).