├── .github └── workflows │ └── create-release.yml ├── .gitignore ├── ATTRIBUTION.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── GOVERNANCE.md ├── LICENSE ├── Makefile ├── NOTICE ├── OWNERS ├── OWNERS_ALIASES ├── README.md ├── apis └── v1alpha1 │ ├── ack-generate-metadata.yaml │ ├── app.go │ ├── data_quality_job_definition.go │ ├── doc.go │ ├── domain.go │ ├── endpoint.go │ ├── endpoint_config.go │ ├── enums.go │ ├── feature_group.go │ ├── generator.yaml │ ├── groupversion_info.go │ ├── hyper_parameter_tuning_job.go │ ├── inference_component.go │ ├── labeling_job.go │ ├── model.go │ ├── model_bias_job_definition.go │ ├── model_explainability_job_definition.go │ ├── model_package.go │ ├── model_package_group.go │ ├── model_quality_job_definition.go │ ├── monitoring_schedule.go │ ├── notebook_instance.go │ ├── notebook_instance_lifecycle_config.go │ ├── pipeline.go │ ├── pipeline_execution.go │ ├── processing_job.go │ ├── training_job.go │ ├── transform_job.go │ ├── types.go │ ├── user_profile.go │ └── zz_generated.deepcopy.go ├── cmd └── controller │ └── main.go ├── config ├── controller │ ├── deployment.yaml │ ├── kustomization.yaml │ └── service.yaml ├── crd │ ├── bases │ │ ├── sagemaker.services.k8s.aws_apps.yaml │ │ ├── sagemaker.services.k8s.aws_dataqualityjobdefinitions.yaml │ │ ├── sagemaker.services.k8s.aws_domains.yaml │ │ ├── sagemaker.services.k8s.aws_endpointconfigs.yaml │ │ ├── sagemaker.services.k8s.aws_endpoints.yaml │ │ ├── sagemaker.services.k8s.aws_featuregroups.yaml │ │ ├── sagemaker.services.k8s.aws_hyperparametertuningjobs.yaml │ │ ├── sagemaker.services.k8s.aws_inferencecomponents.yaml │ │ ├── sagemaker.services.k8s.aws_labelingjobs.yaml │ │ ├── sagemaker.services.k8s.aws_modelbiasjobdefinitions.yaml │ │ ├── sagemaker.services.k8s.aws_modelexplainabilityjobdefinitions.yaml │ │ ├── sagemaker.services.k8s.aws_modelpackagegroups.yaml │ │ ├── sagemaker.services.k8s.aws_modelpackages.yaml │ │ ├── sagemaker.services.k8s.aws_modelqualityjobdefinitions.yaml │ │ ├── sagemaker.services.k8s.aws_models.yaml │ │ ├── sagemaker.services.k8s.aws_monitoringschedules.yaml │ │ ├── sagemaker.services.k8s.aws_notebookinstancelifecycleconfigs.yaml │ │ ├── sagemaker.services.k8s.aws_notebookinstances.yaml │ │ ├── sagemaker.services.k8s.aws_pipelineexecutions.yaml │ │ ├── sagemaker.services.k8s.aws_pipelines.yaml │ │ ├── sagemaker.services.k8s.aws_processingjobs.yaml │ │ ├── sagemaker.services.k8s.aws_trainingjobs.yaml │ │ ├── sagemaker.services.k8s.aws_transformjobs.yaml │ │ └── sagemaker.services.k8s.aws_userprofiles.yaml │ ├── common │ │ ├── bases │ │ │ ├── services.k8s.aws_adoptedresources.yaml │ │ │ └── services.k8s.aws_fieldexports.yaml │ │ └── kustomization.yaml │ └── kustomization.yaml ├── default │ └── kustomization.yaml ├── iam │ └── recommended-policy-arn ├── overlays │ └── namespaced │ │ ├── kustomization.yaml │ │ ├── role-binding.json │ │ └── role.json └── rbac │ ├── cluster-role-binding.yaml │ ├── cluster-role-controller.yaml │ ├── kustomization.yaml │ ├── leader-election-role-binding.yaml │ ├── leader-election-role.yaml │ ├── role-reader.yaml │ ├── role-writer.yaml │ └── service-account.yaml ├── generator.yaml ├── go.mod ├── go.sum ├── helm ├── Chart.yaml ├── crds │ ├── sagemaker.services.k8s.aws_apps.yaml │ ├── sagemaker.services.k8s.aws_dataqualityjobdefinitions.yaml │ ├── sagemaker.services.k8s.aws_domains.yaml │ ├── sagemaker.services.k8s.aws_endpointconfigs.yaml │ ├── sagemaker.services.k8s.aws_endpoints.yaml │ ├── sagemaker.services.k8s.aws_featuregroups.yaml │ ├── sagemaker.services.k8s.aws_hyperparametertuningjobs.yaml │ ├── sagemaker.services.k8s.aws_inferencecomponents.yaml │ ├── sagemaker.services.k8s.aws_labelingjobs.yaml │ ├── sagemaker.services.k8s.aws_modelbiasjobdefinitions.yaml │ ├── sagemaker.services.k8s.aws_modelexplainabilityjobdefinitions.yaml │ ├── sagemaker.services.k8s.aws_modelpackagegroups.yaml │ ├── sagemaker.services.k8s.aws_modelpackages.yaml │ ├── sagemaker.services.k8s.aws_modelqualityjobdefinitions.yaml │ ├── sagemaker.services.k8s.aws_models.yaml │ ├── sagemaker.services.k8s.aws_monitoringschedules.yaml │ ├── sagemaker.services.k8s.aws_notebookinstancelifecycleconfigs.yaml │ ├── sagemaker.services.k8s.aws_notebookinstances.yaml │ ├── sagemaker.services.k8s.aws_pipelineexecutions.yaml │ ├── sagemaker.services.k8s.aws_pipelines.yaml │ ├── sagemaker.services.k8s.aws_processingjobs.yaml │ ├── sagemaker.services.k8s.aws_trainingjobs.yaml │ ├── sagemaker.services.k8s.aws_transformjobs.yaml │ ├── sagemaker.services.k8s.aws_userprofiles.yaml │ ├── services.k8s.aws_adoptedresources.yaml │ └── services.k8s.aws_fieldexports.yaml ├── templates │ ├── NOTES.txt │ ├── _helpers.tpl │ ├── caches-role-binding.yaml │ ├── caches-role.yaml │ ├── cluster-role-binding.yaml │ ├── cluster-role-controller.yaml │ ├── deployment.yaml │ ├── leader-election-role-binding.yaml │ ├── leader-election-role.yaml │ ├── metrics-service.yaml │ ├── role-reader.yaml │ ├── role-writer.yaml │ └── service-account.yaml ├── values.schema.json └── values.yaml ├── metadata.yaml ├── olm └── olmconfig.yaml ├── pkg ├── common │ ├── custom_conditions.go │ ├── custom_requeue.go │ └── custom_utilities.go ├── resource │ ├── app │ │ ├── delta.go │ │ ├── descriptor.go │ │ ├── hook.go │ │ ├── identifiers.go │ │ ├── manager.go │ │ ├── manager_factory.go │ │ ├── references.go │ │ ├── resource.go │ │ ├── sdk.go │ │ └── tags.go │ ├── data_quality_job_definition │ │ ├── delta.go │ │ ├── descriptor.go │ │ ├── identifiers.go │ │ ├── manager.go │ │ ├── manager_factory.go │ │ ├── references.go │ │ ├── resource.go │ │ ├── sdk.go │ │ ├── tags.go │ │ └── testdata │ │ │ ├── sdkapi │ │ │ ├── create │ │ │ │ └── success_create.json │ │ │ └── describe │ │ │ │ └── success_describe.json │ │ │ ├── test_suite.yaml │ │ │ └── v1alpha1 │ │ │ ├── create │ │ │ ├── desired │ │ │ │ ├── invalid_before_create.yaml │ │ │ │ └── success_before_create.yaml │ │ │ └── observed │ │ │ │ ├── invalid_create_attempted.yaml │ │ │ │ └── success_after_create.yaml │ │ │ ├── delete │ │ │ └── observed │ │ │ │ └── error_on_delete.yaml │ │ │ ├── readone │ │ │ ├── desired │ │ │ │ ├── error_conditions_true.yaml │ │ │ │ └── missing_required_field.yaml │ │ │ └── observed │ │ │ │ ├── conditions_clear_on_success.yaml │ │ │ │ └── error_on_describe.yaml │ │ │ └── update │ │ │ ├── desired │ │ │ └── updated_base.yaml │ │ │ └── observed │ │ │ └── error_on_update.yaml │ ├── domain │ │ ├── delta.go │ │ ├── descriptor.go │ │ ├── hook.go │ │ ├── identifiers.go │ │ ├── manager.go │ │ ├── manager_factory.go │ │ ├── references.go │ │ ├── resource.go │ │ ├── sdk.go │ │ └── tags.go │ ├── endpoint │ │ ├── custom_update_conditions.go │ │ ├── delta.go │ │ ├── descriptor.go │ │ ├── hooks.go │ │ ├── identifiers.go │ │ ├── manager.go │ │ ├── manager_factory.go │ │ ├── references.go │ │ ├── resource.go │ │ ├── sdk.go │ │ ├── tags.go │ │ └── testdata │ │ │ ├── sdkapi │ │ │ ├── create │ │ │ │ └── create_success.json │ │ │ ├── describe │ │ │ │ ├── creating_after_create.json │ │ │ │ ├── deleting.json │ │ │ │ ├── failed_after_create.json │ │ │ │ ├── inservice_no_failure_reason.json │ │ │ │ ├── update_deployment_config.json │ │ │ │ └── updating.json │ │ │ └── update │ │ │ │ └── update_success.json │ │ │ ├── test_suite.yaml │ │ │ └── v1alpha1 │ │ │ ├── create │ │ │ ├── desired │ │ │ │ ├── invalid_before_create.yaml │ │ │ │ ├── success_before_create.yaml │ │ │ │ └── success_before_create_deployment_config.yaml │ │ │ └── observed │ │ │ │ ├── invalid_create_attempted.yaml │ │ │ │ ├── success_after_create.yaml │ │ │ │ └── success_after_create_deployment_config.yaml │ │ │ ├── delete │ │ │ ├── desired │ │ │ │ ├── creating_before_delete.yaml │ │ │ │ └── inservice_before_delete.yaml │ │ │ └── observed │ │ │ │ ├── deleting_no_error.yaml │ │ │ │ └── error_on_delete.yaml │ │ │ ├── readone │ │ │ ├── desired │ │ │ │ ├── after_update_apicall_success.yaml │ │ │ │ ├── failed_right_after_create.yaml │ │ │ │ ├── missing_required_field.yaml │ │ │ │ ├── right_after_create.yaml │ │ │ │ └── updating_deployment.yaml │ │ │ └── observed │ │ │ │ ├── creating_after_describe.yaml │ │ │ │ ├── error_on_describe.yaml │ │ │ │ ├── failed_status_on_describe.yaml │ │ │ │ ├── inservice_no_failure_after_describe.yaml │ │ │ │ ├── updating_deployment.yaml │ │ │ │ └── updating_on_describe.yaml │ │ │ └── update │ │ │ ├── desired │ │ │ ├── inservice_post_update_fail.yaml │ │ │ ├── latest_failed.yaml │ │ │ ├── latest_inservice_pre_update.yaml │ │ │ ├── latest_update_failed_with_reason.yaml │ │ │ ├── latest_updating.yaml │ │ │ ├── update_common.yaml │ │ │ └── update_deployment_config.yaml │ │ │ └── observed │ │ │ ├── error_on_update.yaml │ │ │ ├── no_retry_on_failed_update.yaml │ │ │ ├── no_update_on_failed.yaml │ │ │ ├── update_attempted_success.yaml │ │ │ └── update_deployment_config.yaml │ ├── endpoint_config │ │ ├── custom_delta.go │ │ ├── delta.go │ │ ├── descriptor.go │ │ ├── identifiers.go │ │ ├── manager.go │ │ ├── manager_factory.go │ │ ├── references.go │ │ ├── resource.go │ │ ├── sdk.go │ │ ├── tags.go │ │ └── testdata │ │ │ ├── sdkapi │ │ │ ├── create │ │ │ │ └── success_create.json │ │ │ └── describe │ │ │ │ ├── success_describe.json │ │ │ │ ├── success_describe_no_ssm.json │ │ │ │ └── sucess_serverless.json │ │ │ ├── test_suite.yaml │ │ │ └── v1alpha1 │ │ │ ├── create │ │ │ ├── desired │ │ │ │ ├── invalid_before_create.yaml │ │ │ │ └── success_before_create.yaml │ │ │ └── observed │ │ │ │ ├── invalid_create_attempted.yaml │ │ │ │ └── success_after_create.yaml │ │ │ ├── delete │ │ │ └── observed │ │ │ │ └── error_on_delete.yaml │ │ │ ├── readone │ │ │ ├── desired │ │ │ │ ├── error_conditions_true.yaml │ │ │ │ ├── late_initialize.yaml │ │ │ │ ├── missing_required_field.yaml │ │ │ │ ├── right_after_create.yaml │ │ │ │ ├── right_after_create_no_ssm.yaml │ │ │ │ └── serverless_endpoint_create.yaml │ │ │ └── observed │ │ │ │ ├── conditions_clear_on_success.yaml │ │ │ │ ├── error_on_describe.yaml │ │ │ │ ├── right_after_create.yaml │ │ │ │ └── serverless_endpoint_on_success.yaml │ │ │ └── update │ │ │ ├── desired │ │ │ └── updated_base.yaml │ │ │ └── observed │ │ │ └── error_on_update.yaml │ ├── feature_group │ │ ├── custom_delta.go │ │ ├── custom_update_conditions.go │ │ ├── delta.go │ │ ├── descriptor.go │ │ ├── hooks.go │ │ ├── identifiers.go │ │ ├── manager.go │ │ ├── manager_factory.go │ │ ├── references.go │ │ ├── resource.go │ │ ├── sdk.go │ │ ├── tags.go │ │ └── testdata │ │ │ ├── feature_group │ │ │ ├── create │ │ │ │ └── fg_before_create.json │ │ │ ├── read_one │ │ │ │ ├── fg_create_failed.json │ │ │ │ ├── fg_created.json │ │ │ │ ├── fg_creating.json │ │ │ │ └── fg_deleting.json │ │ │ └── v1alpha1 │ │ │ │ ├── fg_before_create.yaml │ │ │ │ ├── fg_create_failed_state.yaml │ │ │ │ ├── fg_create_initiated.yaml │ │ │ │ ├── fg_created_state.yaml │ │ │ │ ├── fg_creating_state.yaml │ │ │ │ ├── fg_deleting_state.yaml │ │ │ │ ├── fg_invalid_before_create.yaml │ │ │ │ ├── fg_invalid_create_attempted.yaml │ │ │ │ └── fg_late_initialize.yaml │ │ │ └── test_suite.yaml │ ├── hyper_parameter_tuning_job │ │ ├── custom_delta.go │ │ ├── delta.go │ │ ├── descriptor.go │ │ ├── hooks.go │ │ ├── identifiers.go │ │ ├── manager.go │ │ ├── manager_factory.go │ │ ├── references.go │ │ ├── resource.go │ │ ├── sdk.go │ │ ├── tags.go │ │ └── testdata │ │ │ ├── hyper_parameter_tuning_job │ │ │ └── v1alpha1 │ │ │ │ ├── hptj_invalid_before_create.yaml │ │ │ │ └── hptj_invalid_create_attempted.yaml │ │ │ ├── sdkapi │ │ │ ├── create │ │ │ │ └── success_create.json │ │ │ └── describe │ │ │ │ ├── inprogress_describe.json │ │ │ │ ├── stopping_describe.json │ │ │ │ ├── success_completed_describe.json │ │ │ │ ├── success_describe_variation.json │ │ │ │ └── success_describe_warm_start_variation.json │ │ │ ├── test_suite.yaml │ │ │ └── v1alpha1 │ │ │ ├── create │ │ │ ├── desired │ │ │ │ ├── invalid_before_create.yaml │ │ │ │ ├── success_before_create.yaml │ │ │ │ ├── success_before_create_variation.yaml │ │ │ │ └── success_before_create_warm_start_variation.yaml │ │ │ └── observed │ │ │ │ ├── invalid_create_attempted.yaml │ │ │ │ ├── success_after_create.yaml │ │ │ │ ├── success_after_create_variation.yaml │ │ │ │ └── success_after_create_warm_start_variation.yaml │ │ │ ├── delete │ │ │ └── observed │ │ │ │ └── error_on_delete.yaml │ │ │ ├── readone │ │ │ ├── desired │ │ │ │ ├── error_conditions_true.yaml │ │ │ │ ├── missing_required_field.yaml │ │ │ │ ├── stopping.yaml │ │ │ │ └── warmpool_attempt_single.yaml │ │ │ └── observed │ │ │ │ ├── completed.yaml │ │ │ │ ├── completed_variation.yaml │ │ │ │ ├── completed_warm_start_variation.yaml │ │ │ │ ├── conditions_clear_on_success.yaml │ │ │ │ ├── error_on_describe.yaml │ │ │ │ ├── inprogress.yaml │ │ │ │ ├── late_initialize.yaml │ │ │ │ └── stopping.yaml │ │ │ └── update │ │ │ ├── desired │ │ │ └── updated_base.yaml │ │ │ └── observed │ │ │ └── error_on_update.yaml │ ├── inference_component │ │ ├── custom_update_conditions.go │ │ ├── delta.go │ │ ├── descriptor.go │ │ ├── hooks.go │ │ ├── identifiers.go │ │ ├── manager.go │ │ ├── manager_factory.go │ │ ├── references.go │ │ ├── resource.go │ │ ├── sdk.go │ │ ├── tags.go │ │ └── testdata │ │ │ ├── sdkapi │ │ │ ├── create │ │ │ │ └── create_success.json │ │ │ ├── describe │ │ │ │ ├── creating_after_create.json │ │ │ │ ├── deleting.json │ │ │ │ ├── failed_after_create.json │ │ │ │ ├── inservice_no_failure_reason.json │ │ │ │ └── updating.json │ │ │ └── update │ │ │ │ └── update_success.json │ │ │ ├── test_suite.yaml │ │ │ └── v1alpha1 │ │ │ ├── create │ │ │ ├── desired │ │ │ │ ├── invalid_before_create.yaml │ │ │ │ └── success_before_create.yaml │ │ │ └── observed │ │ │ │ ├── invalid_create_attempted.yaml │ │ │ │ └── success_after_create.yaml │ │ │ ├── delete │ │ │ ├── desired │ │ │ │ ├── creating_before_delete.yaml │ │ │ │ └── inservice_before_delete.yaml │ │ │ └── observed │ │ │ │ ├── deleting_no_error.yaml │ │ │ │ └── error_on_delete.yaml │ │ │ ├── readone │ │ │ ├── desired │ │ │ │ ├── after_update_apicall_success.yaml │ │ │ │ ├── failed_right_after_create.yaml │ │ │ │ ├── missing_required_field.yaml │ │ │ │ └── right_after_create.yaml │ │ │ └── observed │ │ │ │ ├── creating_after_describe.yaml │ │ │ │ ├── error_on_describe.yaml │ │ │ │ ├── failed_status_on_describe.yaml │ │ │ │ ├── inservice_no_failure_after_describe.yaml │ │ │ │ └── updating_on_describe.yaml │ │ │ └── update │ │ │ ├── desired │ │ │ ├── latest_failed.yaml │ │ │ ├── latest_inservice_pre_update.yaml │ │ │ ├── latest_updating.yaml │ │ │ └── update_common.yaml │ │ │ └── observed │ │ │ ├── error_on_update.yaml │ │ │ ├── no_update_on_failed.yaml │ │ │ └── update_attempted_success.yaml │ ├── labeling_job │ │ ├── custom_delta.go │ │ ├── delta.go │ │ ├── descriptor.go │ │ ├── hooks.go │ │ ├── identifiers.go │ │ ├── manager.go │ │ ├── manager_factory.go │ │ ├── references.go │ │ ├── resource.go │ │ ├── sdk.go │ │ └── tags.go │ ├── model │ │ ├── custom_delta.go │ │ ├── delta.go │ │ ├── descriptor.go │ │ ├── identifiers.go │ │ ├── manager.go │ │ ├── manager_factory.go │ │ ├── references.go │ │ ├── resource.go │ │ ├── sdk.go │ │ ├── tags.go │ │ └── testdata │ │ │ ├── sdkapi │ │ │ ├── create │ │ │ │ └── success_create.json │ │ │ └── describe │ │ │ │ ├── success_describe.json │ │ │ │ └── success_primary_container.json │ │ │ ├── test_suite.yaml │ │ │ └── v1alpha1 │ │ │ ├── create │ │ │ ├── desired │ │ │ │ ├── before_create_primary_container.yaml │ │ │ │ ├── invalid_before_create.yaml │ │ │ │ └── success_before_create.yaml │ │ │ └── observed │ │ │ │ ├── invalid_create_attempted.yaml │ │ │ │ ├── success_after_create.yaml │ │ │ │ └── success_created_primary_container.yaml │ │ │ ├── delete │ │ │ └── observed │ │ │ │ └── error_on_delete.yaml │ │ │ ├── readone │ │ │ ├── desired │ │ │ │ ├── after_create.yaml │ │ │ │ └── missing_required_field.yaml │ │ │ └── observed │ │ │ │ ├── created.yaml │ │ │ │ ├── created_primary_container.yaml │ │ │ │ ├── error_on_describe.yaml │ │ │ │ └── late_initialize.yaml │ │ │ └── update │ │ │ ├── desired │ │ │ ├── latest_post_create.yaml │ │ │ └── updated_base.yaml │ │ │ └── observed │ │ │ └── error_on_update.yaml │ ├── model_bias_job_definition │ │ ├── delta.go │ │ ├── descriptor.go │ │ ├── identifiers.go │ │ ├── manager.go │ │ ├── manager_factory.go │ │ ├── references.go │ │ ├── resource.go │ │ ├── sdk.go │ │ ├── tags.go │ │ └── testdata │ │ │ ├── sdkapi │ │ │ ├── create │ │ │ │ └── success_create.json │ │ │ └── describe │ │ │ │ └── success_describe.json │ │ │ ├── test_suite.yaml │ │ │ └── v1alpha1 │ │ │ ├── create │ │ │ ├── desired │ │ │ │ ├── invalid_before_create.yaml │ │ │ │ └── success_before_create.yaml │ │ │ └── observed │ │ │ │ ├── invalid_create_attempted.yaml │ │ │ │ └── success_after_create.yaml │ │ │ ├── delete │ │ │ └── observed │ │ │ │ └── error_on_delete.yaml │ │ │ ├── readone │ │ │ ├── desired │ │ │ │ ├── error_conditions_true.yaml │ │ │ │ └── missing_required_field.yaml │ │ │ └── observed │ │ │ │ ├── conditions_clear_on_success.yaml │ │ │ │ └── error_on_describe.yaml │ │ │ └── update │ │ │ ├── desired │ │ │ └── updated_base.yaml │ │ │ └── observed │ │ │ └── error_on_update.yaml │ ├── model_explainability_job_definition │ │ ├── delta.go │ │ ├── descriptor.go │ │ ├── identifiers.go │ │ ├── manager.go │ │ ├── manager_factory.go │ │ ├── references.go │ │ ├── resource.go │ │ ├── sdk.go │ │ └── tags.go │ ├── model_package │ │ ├── custom_delta.go │ │ ├── custom_update_conditions.go │ │ ├── delta.go │ │ ├── descriptor.go │ │ ├── hooks.go │ │ ├── identifiers.go │ │ ├── manager.go │ │ ├── manager_factory.go │ │ ├── references.go │ │ ├── resource.go │ │ ├── sdk.go │ │ ├── tags.go │ │ └── testdata │ │ │ ├── sdkapi │ │ │ ├── create │ │ │ │ ├── create_success.json │ │ │ │ └── create_success_versioned.json │ │ │ └── describe │ │ │ │ ├── deleting.json │ │ │ │ ├── describe_deleting.json │ │ │ │ ├── describe_inprogress.json │ │ │ │ ├── describe_pending_after_create.json │ │ │ │ ├── describe_success.json │ │ │ │ ├── describe_variation_success.json │ │ │ │ └── describe_versioned_success.json │ │ │ ├── test_suite.yaml │ │ │ └── v1alpha1 │ │ │ ├── create │ │ │ ├── desired │ │ │ │ ├── before_create.yaml │ │ │ │ ├── before_create_variation_model_metrics.yaml │ │ │ │ ├── before_create_versioned.yaml │ │ │ │ └── invalid_before_create.yaml │ │ │ └── observed │ │ │ │ ├── invalid_create_attempted.yaml │ │ │ │ ├── success_after_create.yaml │ │ │ │ ├── success_after_create_variation.yaml │ │ │ │ └── success_after_create_versioned.yaml │ │ │ ├── delete │ │ │ ├── desired │ │ │ │ ├── delete_deleting.yaml │ │ │ │ ├── delete_inprogress.yaml │ │ │ │ └── delete_pending.yaml │ │ │ └── observed │ │ │ │ ├── error_on_delete.yaml │ │ │ │ └── not_found_on_delete.yaml │ │ │ ├── readone │ │ │ ├── desired │ │ │ │ ├── after_create.yaml │ │ │ │ ├── after_create_no_status.yaml │ │ │ │ ├── after_create_variation.yaml │ │ │ │ ├── after_create_versioned.yaml │ │ │ │ ├── deleting.yaml │ │ │ │ ├── error_conditions_true.yaml │ │ │ │ ├── inprogress_after_create.yaml │ │ │ │ ├── missing_required_field.yaml │ │ │ │ └── pending_after_create.yaml │ │ │ └── observed │ │ │ │ ├── conditions_clear_on_success.yaml │ │ │ │ ├── created.yaml │ │ │ │ ├── created_variation.yaml │ │ │ │ ├── deleting.yaml │ │ │ │ ├── error_on_describe.yaml │ │ │ │ ├── inprogess_after_create.yaml │ │ │ │ ├── late_initialize_versioned.yaml │ │ │ │ └── pending_after_create.yaml │ │ │ └── update │ │ │ ├── desired │ │ │ ├── update.yaml │ │ │ ├── updated_base.yaml │ │ │ └── updated_base_versioned.yaml │ │ │ └── observed │ │ │ ├── error_on_update.yaml │ │ │ └── update_base_versioned.yaml │ ├── model_package_group │ │ ├── delta.go │ │ ├── descriptor.go │ │ ├── hooks.go │ │ ├── identifiers.go │ │ ├── manager.go │ │ ├── manager_factory.go │ │ ├── references.go │ │ ├── resource.go │ │ ├── sdk.go │ │ ├── tags.go │ │ └── testdata │ │ │ ├── sdkapi │ │ │ ├── create │ │ │ │ └── create_success.json │ │ │ └── describe │ │ │ │ ├── describe_deleting.json │ │ │ │ ├── describe_inprogress.json │ │ │ │ ├── describe_pending_after_create.json │ │ │ │ └── describe_success.json │ │ │ ├── test_suite.yaml │ │ │ └── v1alpha1 │ │ │ ├── create │ │ │ ├── desired │ │ │ │ ├── invalid_before_create.yaml │ │ │ │ └── success_before_create.yaml │ │ │ └── observed │ │ │ │ ├── invalid_create_attempted.yaml │ │ │ │ └── success_after_create.yaml │ │ │ ├── delete │ │ │ ├── desired │ │ │ │ ├── delete_deleting.yaml │ │ │ │ ├── delete_inprogress.yaml │ │ │ │ └── delete_pending.yaml │ │ │ └── observed │ │ │ │ └── error_on_delete.yaml │ │ │ ├── readone │ │ │ ├── desired │ │ │ │ ├── after_create.yaml │ │ │ │ ├── deleting.yaml │ │ │ │ ├── error_conditions_true.yaml │ │ │ │ ├── inprogress_after_create.yaml │ │ │ │ ├── missing_required_field.yaml │ │ │ │ └── pending_after_create.yaml │ │ │ └── observed │ │ │ │ ├── conditions_clear_on_success.yaml │ │ │ │ ├── created.yaml │ │ │ │ ├── deleting.yaml │ │ │ │ ├── error_on_describe.yaml │ │ │ │ ├── inprogess_after_create.yaml │ │ │ │ └── pending_after_create.yaml │ │ │ └── update │ │ │ ├── desired │ │ │ └── updated_base.yaml │ │ │ └── observed │ │ │ └── error_on_update.yaml │ ├── model_quality_job_definition │ │ ├── delta.go │ │ ├── descriptor.go │ │ ├── identifiers.go │ │ ├── manager.go │ │ ├── manager_factory.go │ │ ├── references.go │ │ ├── resource.go │ │ ├── sdk.go │ │ ├── tags.go │ │ └── testdata │ │ │ ├── sdkapi │ │ │ ├── create │ │ │ │ └── success_create.json │ │ │ └── describe │ │ │ │ └── success_describe.json │ │ │ ├── test_suite.yaml │ │ │ └── v1alpha1 │ │ │ ├── create │ │ │ ├── desired │ │ │ │ ├── invalid_before_create.yaml │ │ │ │ └── success_before_create.yaml │ │ │ └── observed │ │ │ │ ├── invalid_create_attempted.yaml │ │ │ │ └── success_after_create.yaml │ │ │ ├── delete │ │ │ └── observed │ │ │ │ └── error_on_delete.yaml │ │ │ ├── readone │ │ │ ├── desired │ │ │ │ ├── error_conditions_true.yaml │ │ │ │ └── missing_required_field.yaml │ │ │ └── observed │ │ │ │ ├── conditions_clear_on_success.yaml │ │ │ │ └── error_on_describe.yaml │ │ │ └── update │ │ │ ├── desired │ │ │ └── updated_base.yaml │ │ │ └── observed │ │ │ └── error_on_update.yaml │ ├── monitoring_schedule │ │ ├── custom_update_conditions.go │ │ ├── delta.go │ │ ├── descriptor.go │ │ ├── hooks.go │ │ ├── identifiers.go │ │ ├── manager.go │ │ ├── manager_factory.go │ │ ├── references.go │ │ ├── resource.go │ │ ├── sdk.go │ │ ├── tags.go │ │ └── testdata │ │ │ ├── sdkapi │ │ │ ├── create │ │ │ │ └── success_create.json │ │ │ ├── describe │ │ │ │ └── scheduled_describe.json │ │ │ └── update │ │ │ │ └── update_success_schedule_pending.json │ │ │ ├── test_suite.yaml │ │ │ └── v1alpha1 │ │ │ ├── create │ │ │ ├── desired │ │ │ │ ├── invalid_before_create.yaml │ │ │ │ └── success_before_create.yaml │ │ │ └── observed │ │ │ │ ├── invalid_create_attempted.yaml │ │ │ │ └── success_after_create.yaml │ │ │ ├── delete │ │ │ ├── desired │ │ │ │ └── pending_on_delete.yaml │ │ │ └── observed │ │ │ │ └── error_on_delete.yaml │ │ │ ├── readone │ │ │ ├── desired │ │ │ │ ├── error_conditions_true.yaml │ │ │ │ └── missing_required_field.yaml │ │ │ └── observed │ │ │ │ ├── conditions_clear_on_success.yaml │ │ │ │ ├── error_on_describe.yaml │ │ │ │ └── scheduled.yaml │ │ │ └── update │ │ │ ├── desired │ │ │ ├── pending_on_update.yaml │ │ │ └── updated_base.yaml │ │ │ └── observed │ │ │ ├── error_on_update.yaml │ │ │ └── updated_successfully_schedule_pending.yaml │ ├── notebook_instance │ │ ├── custom_sdk_api.go │ │ ├── custom_set_delta.go │ │ ├── custom_set_input_update.go │ │ ├── delta.go │ │ ├── descriptor.go │ │ ├── hooks.go │ │ ├── identifiers.go │ │ ├── manager.go │ │ ├── manager_factory.go │ │ ├── references.go │ │ ├── resource.go │ │ ├── sdk.go │ │ ├── tags.go │ │ └── testdata │ │ │ ├── sdkapi │ │ │ ├── create │ │ │ │ └── create_success.json │ │ │ └── readone │ │ │ │ ├── delete_resp.json │ │ │ │ ├── readone_deleting.json │ │ │ │ ├── readone_failed_state.json │ │ │ │ ├── readone_inservice.json │ │ │ │ ├── readone_pending_after_create.json │ │ │ │ ├── readone_stopped.json │ │ │ │ ├── readone_stopped_after_update_ack.json │ │ │ │ ├── readone_stopped_after_update_human.json │ │ │ │ ├── readone_stopped_before_update_ack.json │ │ │ │ ├── readone_stopped_start_failed.json │ │ │ │ ├── readone_stopping_deleting.json │ │ │ │ ├── readone_stopping_update.json │ │ │ │ ├── readone_stopping_user.json │ │ │ │ ├── readone_updating.json │ │ │ │ └── readone_updating_by_user.json │ │ │ ├── test_suite.yaml │ │ │ └── v1alpha1 │ │ │ ├── create │ │ │ ├── desired │ │ │ │ ├── nb_invalid_before_create.yaml │ │ │ │ └── nb_success_before_create.yaml │ │ │ └── observed │ │ │ │ ├── nb_invalid_after_create.yaml │ │ │ │ └── nb_success_after_create.yaml │ │ │ ├── delete │ │ │ └── desired │ │ │ │ ├── nb_delete_IS.yaml │ │ │ │ ├── nb_delete_deleting.yaml │ │ │ │ ├── nb_delete_pending.yaml │ │ │ │ ├── nb_delete_stopped.yaml │ │ │ │ ├── nb_delete_stopping.yaml │ │ │ │ └── nb_delete_updating.yaml │ │ │ ├── readone │ │ │ ├── desired │ │ │ │ ├── nb_readone_deleting.yaml │ │ │ │ ├── nb_readone_fail.yaml │ │ │ │ ├── nb_readone_failed_state.yaml │ │ │ │ ├── nb_readone_inservice.yaml │ │ │ │ ├── nb_readone_pending_after_create.yaml │ │ │ │ ├── nb_readone_stopped_after_update_ack.yaml │ │ │ │ ├── nb_readone_stopped_after_update_human.yaml │ │ │ │ ├── nb_readone_stopped_before_update_ack.yaml │ │ │ │ ├── nb_readone_stopping_deleting.yaml │ │ │ │ ├── nb_readone_stopping_update.yaml │ │ │ │ ├── nb_readone_updating.yaml │ │ │ │ └── nb_readone_updating_by_user.yaml │ │ │ └── observed │ │ │ │ ├── nb_readone_deleting.yaml │ │ │ │ ├── nb_readone_failed_state.yaml │ │ │ │ ├── nb_readone_inservice.yaml │ │ │ │ ├── nb_readone_late_initialized.yaml │ │ │ │ ├── nb_readone_pending_after_create.yaml │ │ │ │ ├── nb_readone_stopped_after_update.yaml │ │ │ │ ├── nb_readone_stopped_after_update_ack.yaml │ │ │ │ ├── nb_readone_stopped_before_update_ack.yaml │ │ │ │ ├── nb_readone_stopping_deleting.yaml │ │ │ │ ├── nb_readone_stopping_update.yaml │ │ │ │ ├── nb_readone_updating.yaml │ │ │ │ └── nb_readone_updating_by_user.yaml │ │ │ └── update │ │ │ ├── desired │ │ │ ├── nb_update_desired_common.yaml │ │ │ ├── nb_update_desired_invalid.yaml │ │ │ ├── nb_update_latest_inservice_input.yaml │ │ │ ├── nb_update_latest_pending_input.yaml │ │ │ ├── nb_update_latest_stopped_by_user_input.yaml │ │ │ ├── nb_update_latest_stopped_controller_input.yaml │ │ │ ├── nb_update_latest_stopped_dissassociated.yaml │ │ │ ├── nb_update_latest_stopping_input.yaml │ │ │ └── nb_update_latest_updating_input.yaml │ │ │ └── observed │ │ │ ├── nb_update_dissassociated.yaml │ │ │ ├── nb_update_inservice.yaml │ │ │ ├── nb_update_invalid.yaml │ │ │ ├── nb_update_stopped_by_user.yaml │ │ │ └── nb_update_stopped_controller.yaml │ ├── notebook_instance_lifecycle_config │ │ ├── custom_delta.go │ │ ├── delta.go │ │ ├── descriptor.go │ │ ├── hooks.go │ │ ├── identifiers.go │ │ ├── manager.go │ │ ├── manager_factory.go │ │ ├── references.go │ │ ├── resource.go │ │ ├── sdk.go │ │ └── testdata │ │ │ ├── sdkapi │ │ │ ├── create │ │ │ │ └── create_success.json │ │ │ └── describe │ │ │ │ └── success_describe.json │ │ │ ├── test_suite.yaml │ │ │ └── v1alpha1 │ │ │ ├── create │ │ │ ├── desired │ │ │ │ ├── invalid_before_create.yaml │ │ │ │ └── success_before_create.yaml │ │ │ └── observed │ │ │ │ ├── invalid_create_attempted.yaml │ │ │ │ └── success_after_create.yaml │ │ │ ├── delete │ │ │ └── desired │ │ │ │ └── inservice_before_delete.yaml │ │ │ ├── readone │ │ │ ├── desired │ │ │ │ ├── error_conditions_true.yaml │ │ │ │ ├── missing_required_field.yaml │ │ │ │ └── right_after_create.yaml │ │ │ └── observed │ │ │ │ ├── conditions_clear_on_success.yaml │ │ │ │ ├── creating_after_describe.yaml │ │ │ │ └── error_on_describe.yaml │ │ │ └── update │ │ │ ├── desired │ │ │ └── update_common.yaml │ │ │ └── observed │ │ │ ├── error_on_update.yaml │ │ │ └── update_attempted_success.yaml │ ├── pipeline │ │ ├── delta.go │ │ ├── descriptor.go │ │ ├── identifiers.go │ │ ├── manager.go │ │ ├── manager_factory.go │ │ ├── references.go │ │ ├── resource.go │ │ ├── sdk.go │ │ ├── tags.go │ │ └── testdata │ │ │ ├── sdkapi │ │ │ ├── create │ │ │ │ └── create_success.json │ │ │ └── describe │ │ │ │ └── describe_success.json │ │ │ ├── test_suite.yaml │ │ │ └── v1alpha1 │ │ │ ├── create │ │ │ ├── desired │ │ │ │ ├── invalid_before_create.yaml │ │ │ │ └── success_before_create.yaml │ │ │ └── observed │ │ │ │ ├── invalid_create_attempted.yaml │ │ │ │ └── success_after_create.yaml │ │ │ ├── delete │ │ │ └── observed │ │ │ │ ├── error_on_delete.yaml │ │ │ │ └── not_found_on_delete.yaml │ │ │ ├── readone │ │ │ ├── desired │ │ │ │ ├── error_conditions_true.yaml │ │ │ │ └── missing_required_field.yaml │ │ │ └── observed │ │ │ │ ├── conditions_clear_on_success.yaml │ │ │ │ ├── created.yaml │ │ │ │ └── error_on_describe.yaml │ │ │ └── update │ │ │ ├── desired │ │ │ └── updated.yaml │ │ │ └── observed │ │ │ └── update_pipeline.yaml │ ├── pipeline_execution │ │ ├── delta.go │ │ ├── descriptor.go │ │ ├── hooks.go │ │ ├── identifiers.go │ │ ├── manager.go │ │ ├── manager_factory.go │ │ ├── references.go │ │ ├── resource.go │ │ ├── sdk.go │ │ └── testdata │ │ │ ├── sdkapi │ │ │ ├── create │ │ │ │ └── create_success.json │ │ │ └── describe │ │ │ │ ├── describe_executing.json │ │ │ │ ├── describe_stopping.json │ │ │ │ └── describe_succeeded.json │ │ │ ├── test_suite.yaml │ │ │ └── v1alpha1 │ │ │ ├── create │ │ │ ├── desired │ │ │ │ ├── invalid_before_create.yaml │ │ │ │ └── success_before_create.yaml │ │ │ └── observed │ │ │ │ ├── invalid_create_attempted.yaml │ │ │ │ └── success_after_create.yaml │ │ │ ├── delete │ │ │ └── observed │ │ │ │ ├── error_on_delete.yaml │ │ │ │ └── not_found_on_delete.yaml │ │ │ ├── readone │ │ │ ├── desired │ │ │ │ ├── error_conditions_true.yaml │ │ │ │ ├── invalid.yaml │ │ │ │ ├── missing_required_field.yaml │ │ │ │ └── stopping.yaml │ │ │ └── observed │ │ │ │ ├── conditions_clear_on_success.yaml │ │ │ │ ├── created.yaml │ │ │ │ ├── error_on_describe.yaml │ │ │ │ ├── stopping.yaml │ │ │ │ └── succeeded.yaml │ │ │ └── update │ │ │ ├── desired │ │ │ └── update_pipeline_execution.yaml │ │ │ └── observed │ │ │ └── updated_pipeline_execution.yaml │ ├── processing_job │ │ ├── custom_delta.go │ │ ├── delta.go │ │ ├── descriptor.go │ │ ├── hooks.go │ │ ├── identifiers.go │ │ ├── manager.go │ │ ├── manager_factory.go │ │ ├── references.go │ │ ├── resource.go │ │ ├── sdk.go │ │ ├── tags.go │ │ └── testdata │ │ │ ├── sdkapi │ │ │ ├── create │ │ │ │ └── success_create.json │ │ │ └── describe │ │ │ │ ├── stopping_describe.json │ │ │ │ ├── success_completed_describe.json │ │ │ │ ├── success_describe.json │ │ │ │ └── success_describe_variation.json │ │ │ ├── test_suite.yaml │ │ │ └── v1alpha1 │ │ │ ├── create │ │ │ ├── desired │ │ │ │ ├── invalid_before_create.yaml │ │ │ │ ├── success_before_create.yaml │ │ │ │ └── success_before_create_variation.yaml │ │ │ └── observed │ │ │ │ ├── invalid_create_attempted.yaml │ │ │ │ ├── success_after_create.yaml │ │ │ │ └── success_after_create_variation.yaml │ │ │ ├── delete │ │ │ └── observed │ │ │ │ └── error_on_delete.yaml │ │ │ ├── readone │ │ │ ├── desired │ │ │ │ ├── after_create_inprogress.yaml │ │ │ │ ├── after_create_inprogress_variation.yaml │ │ │ │ ├── error_conditions_true.yaml │ │ │ │ ├── missing_required_field.yaml │ │ │ │ └── stopping.yaml │ │ │ └── observed │ │ │ │ ├── completed.yaml │ │ │ │ ├── completed_variation.yaml │ │ │ │ ├── conditions_clear_on_success.yaml │ │ │ │ ├── created.yaml │ │ │ │ ├── error_on_describe.yaml │ │ │ │ └── stopping.yaml │ │ │ └── update │ │ │ ├── desired │ │ │ └── updated_base.yaml │ │ │ └── observed │ │ │ └── error_on_update.yaml │ ├── registry.go │ ├── training_job │ │ ├── custom_delta.go │ │ ├── custom_update.go │ │ ├── delta.go │ │ ├── descriptor.go │ │ ├── hooks.go │ │ ├── identifiers.go │ │ ├── manager.go │ │ ├── manager_factory.go │ │ ├── references.go │ │ ├── resource.go │ │ ├── sdk.go │ │ ├── tags.go │ │ └── testdata │ │ │ ├── sdkapi │ │ │ ├── create │ │ │ │ └── success_create.json │ │ │ ├── describe │ │ │ │ ├── inprogress_describe.json │ │ │ │ ├── inprogress_describe_debugger_variation.json │ │ │ │ ├── inprogress_describe_instance_group.json │ │ │ │ ├── stopping_describe.json │ │ │ │ ├── stopping_describe_debugger_variation.json │ │ │ │ ├── success_completed_describe.json │ │ │ │ ├── warmpool_describe_available.json │ │ │ │ ├── warmpool_describe_inuse.json │ │ │ │ ├── warmpool_describe_no_status.json │ │ │ │ ├── warmpool_describe_reused.json │ │ │ │ └── warmpool_describe_terminated.json │ │ │ └── update │ │ │ │ ├── describe │ │ │ │ ├── bothprofiler_update.json │ │ │ │ ├── profiler_config_update.json │ │ │ │ ├── profiler_removal.json │ │ │ │ ├── profilerrule_update.json │ │ │ │ └── warmpool.json │ │ │ │ └── update_success.json │ │ │ ├── test_suite.yaml │ │ │ └── v1alpha1 │ │ │ ├── create │ │ │ ├── desired │ │ │ │ ├── invalid_before_create.yaml │ │ │ │ ├── success_before_create.yaml │ │ │ │ └── success_before_create_debugger_variation.yaml │ │ │ └── observed │ │ │ │ ├── invalid_create_attempted.yaml │ │ │ │ ├── success_after_create.yaml │ │ │ │ └── success_after_create_debugger_variation.yaml │ │ │ ├── delete │ │ │ └── observed │ │ │ │ └── error_on_delete.yaml │ │ │ ├── readone │ │ │ ├── desired │ │ │ │ ├── after_create_inprogress.yaml │ │ │ │ ├── after_create_inprogress_debugger_variation.yaml │ │ │ │ ├── after_create_inprogress_instancegroups.yaml │ │ │ │ ├── error_conditions_true.yaml │ │ │ │ ├── missing_required_field.yaml │ │ │ │ ├── stopping_debugger_variation.yaml │ │ │ │ └── warmpool.yaml │ │ │ └── observed │ │ │ │ ├── completed.yaml │ │ │ │ ├── completed_debugger_variation.yaml │ │ │ │ ├── conditions_clear_on_success.yaml │ │ │ │ ├── created.yaml │ │ │ │ ├── created_debugger_variation.yaml │ │ │ │ ├── created_instance_groups.yaml │ │ │ │ ├── error_on_describe.yaml │ │ │ │ ├── late_initialize.yaml │ │ │ │ ├── stopping.yaml │ │ │ │ ├── stopping_debugger_variation.yaml │ │ │ │ ├── warmpool_available.yaml │ │ │ │ ├── warmpool_inuse.yaml │ │ │ │ ├── warmpool_nostatus.yaml │ │ │ │ ├── warmpool_reused.yaml │ │ │ │ └── warmpool_terminated.yaml │ │ │ └── update │ │ │ ├── desired │ │ │ ├── invalidupdate.yaml │ │ │ ├── removeAddProfilerRule.yaml │ │ │ ├── removeOneProfilerRule.yaml │ │ │ ├── removeProfilerConfig.yaml │ │ │ ├── removeProfilerRule.yaml │ │ │ ├── removeProfilerboth.yaml │ │ │ ├── updateBothProfileParams.yaml │ │ │ ├── updateProfileConfig.yaml │ │ │ ├── updateProfilerRule.yaml │ │ │ ├── updateProfilerWP.yaml │ │ │ └── updateWarmPool.yaml │ │ │ ├── latest │ │ │ ├── WPDownloading.yaml │ │ │ ├── WPHappy.yaml │ │ │ ├── WPTerminal.yaml │ │ │ ├── profilerHappyBase.yaml │ │ │ ├── profilerMultipleRules.yaml │ │ │ ├── profilerStarting.yaml │ │ │ ├── profilerTerminal.yaml │ │ │ └── vanilla.yaml │ │ │ └── observed │ │ │ ├── removeProfilerBoth.yaml │ │ │ ├── removeProfilerConfig.yaml │ │ │ ├── removeProfilerRule.yaml │ │ │ ├── updateProfilerBoth.yaml │ │ │ ├── updateProfilerConfig.yaml │ │ │ ├── updateProfilerRule.yaml │ │ │ └── updateWP.yaml │ ├── transform_job │ │ ├── custom_delta.go │ │ ├── delta.go │ │ ├── descriptor.go │ │ ├── hooks.go │ │ ├── identifiers.go │ │ ├── manager.go │ │ ├── manager_factory.go │ │ ├── references.go │ │ ├── resource.go │ │ ├── sdk.go │ │ ├── tags.go │ │ └── testdata │ │ │ ├── sdkapi │ │ │ ├── create │ │ │ │ └── success_create.json │ │ │ └── describe │ │ │ │ ├── inprogress_describe.json │ │ │ │ ├── stopping_describe.json │ │ │ │ └── success_completed_describe.json │ │ │ ├── test_suite.yaml │ │ │ └── v1alpha1 │ │ │ ├── create │ │ │ ├── desired │ │ │ │ ├── invalid_before_create.yaml │ │ │ │ └── success_before_create.yaml │ │ │ └── observed │ │ │ │ ├── invalid_create_attempted.yaml │ │ │ │ └── success_after_create.yaml │ │ │ ├── delete │ │ │ └── observed │ │ │ │ └── error_on_delete.yaml │ │ │ ├── readone │ │ │ ├── desired │ │ │ │ ├── after_create_inprogress.yaml │ │ │ │ ├── error_conditions_true.yaml │ │ │ │ ├── missing_required_field.yaml │ │ │ │ └── stopping.yaml │ │ │ └── observed │ │ │ │ ├── completed.yaml │ │ │ │ ├── conditions_clear_on_success.yaml │ │ │ │ ├── created.yaml │ │ │ │ ├── error_on_describe.yaml │ │ │ │ ├── late_initialize.yaml │ │ │ │ └── stopping.yaml │ │ │ └── update │ │ │ ├── desired │ │ │ └── updated_base.yaml │ │ │ └── observed │ │ │ └── error_on_update.yaml │ └── user_profile │ │ ├── delta.go │ │ ├── descriptor.go │ │ ├── hook.go │ │ ├── identifiers.go │ │ ├── manager.go │ │ ├── manager_factory.go │ │ ├── references.go │ │ ├── resource.go │ │ ├── sdk.go │ │ └── tags.go ├── testutil │ ├── test_suite_config.go │ ├── test_suite_runner.go │ └── util.go └── version │ └── version.go ├── samples ├── README.md ├── batch_transform │ ├── README.md │ └── my-batch-transform-job.yaml ├── endpoint │ ├── README.md │ ├── endpoint_base.yaml │ └── endpoint_config.yaml ├── feature_group │ ├── README.md │ ├── data_ingestion.py │ ├── my-feature-group.yaml │ └── my-sample-data.csv ├── hyperparameter_tuning │ ├── README.md │ └── my-hyperparameter-job.yaml ├── job_definitions │ ├── data_quality │ │ ├── README.md │ │ └── my-data-quality-job-definition.yaml │ ├── model_bias │ │ ├── README.md │ │ └── my-model-bias-job-definition.yaml │ ├── model_explainability │ │ ├── README.md │ │ └── my-model-explainability-job-definition.yaml │ └── model_quality │ │ ├── README.md │ │ └── my-model-quality-job.yaml ├── labeling │ ├── README.md │ ├── class_labels.json │ ├── images │ │ ├── 115519078.jpg │ │ ├── 133298345.jpg │ │ ├── 1358914296.jpg │ │ ├── 142479250.jpg │ │ ├── 1508285598.jpg │ │ ├── 159166596.jpg │ │ ├── 162002009.jpg │ │ ├── 2073826793.jpg │ │ ├── 212161092.jpg │ │ ├── 2246298716.jpg │ │ ├── 239985057.jpg │ │ ├── 2463686290.jpg │ │ ├── 260863506.jpg │ │ ├── 2650126854.jpg │ │ ├── 2677577557.jpg │ │ ├── 2792076321.jpg │ │ ├── 2887641700.jpg │ │ ├── 2941703909.jpg │ │ ├── 3101502490.jpg │ │ ├── 321721915.jpg │ │ ├── 3274818430.jpg │ │ ├── 3373561589.jpg │ │ ├── 3468967682.jpg │ │ ├── 3765988249.jpg │ │ ├── 3988463526.jpg │ │ ├── 4273898682.jpg │ │ ├── 436255718.jpg │ │ ├── 4707086638.jpg │ │ ├── 4764653103.jpg │ │ └── 51660551.jpg │ ├── input.manifest │ ├── instructions.template │ └── my-labeling-job.yaml ├── model │ ├── README.md │ ├── my-model.yaml │ └── s3_sample_model.py ├── model_package │ ├── README.MD │ └── my-model-package.yaml ├── model_package_group │ ├── README.MD │ └── my-model-package-group.yaml ├── monitoring_schedule │ ├── README.md │ └── my-monitoring-schedule.yaml ├── notebook_instance │ ├── README.md │ └── my-notebook-instance.yaml ├── notebookinstance_lifecycle_config │ ├── README.md │ └── my-notebookinstance_lifecycle_config.yaml ├── pipeline │ ├── README.md │ ├── my-pipeline.json │ ├── pipeline-execution.yaml │ └── pipeline.yaml ├── processing │ ├── README.md │ ├── kmeans_preprocessing.py │ └── my-processing-job.yaml └── training │ ├── README.md │ ├── my-training-job.yaml │ └── s3_sample_data.py ├── templates ├── app │ └── sdk_delete_pre_build_request.go.tpl ├── common │ ├── sdk_delete_post_request.go.tpl │ ├── sdk_delete_pre_build_request.go.tpl │ └── sdk_update_pre_build_request.go.tpl ├── domain │ └── sdk_create_post_set_output.go.tpl ├── endpoint │ └── sdk_update_pre_build_request.go.tpl ├── hyper_parameter_tuning_job │ └── sdk_delete_pre_build_request.go.tpl ├── inference_component │ ├── sdk_read_one_post_set_output.go.tpl │ ├── sdk_update_post_set_output.go.tpl │ └── sdk_update_pre_build_request.go.tpl ├── labeling_job │ └── sdk_delete_pre_build_request.go.tpl ├── model_package │ └── set_resource_name_as_arn.go.tpl ├── notebook_instance │ ├── sdk_delete_pre_build_request.go.tpl │ ├── sdk_read_one_post_set_output.go.tpl │ └── sdk_update_pre_build_request.go.tpl ├── notebook_instance_lifecycle_config │ ├── delta_post_compare.go.tpl │ └── sdk_update_post_set_output.go.tpl ├── pipeline_execution │ └── sdk_delete_pre_build_request.go.tpl ├── processing_job │ └── sdk_delete_pre_build_request.go.tpl ├── training_job │ ├── sdk_delete_pre_build_request.go.tpl │ ├── sdk_update_post_build_request.go.tpl │ └── sdk_update_post_set_output.go.tpl └── transform_job │ └── sdk_delete_pre_build_request.go.tpl └── test ├── canary ├── Dockerfile.canary ├── canary.buildspec.yaml └── scripts │ ├── install_controller_helm.sh │ ├── push_stats_to_cloudwatch.py │ ├── run_test.sh │ └── setup_oidc.sh ├── e2e ├── .gitignore ├── __init__.py ├── bootstrap_resources.py ├── common │ ├── config.py │ └── fixtures.py ├── conftest.py ├── replacement_values.py ├── requirements.txt ├── resources │ ├── adopted_resource_base.yaml │ ├── adopted_resource_base_arn.yaml │ ├── app.yaml │ ├── cross_region_model.yaml │ ├── data_quality_job_definition_xgboost_churn.yaml │ ├── domain.yaml │ ├── endpoint_base.yaml │ ├── endpoint_config_data_capture_single_variant.yaml │ ├── endpoint_config_inference_component.yaml │ ├── endpoint_config_multi_variant.yaml │ ├── endpoint_config_single_variant.yaml │ ├── feature_group.yaml │ ├── image_labelingjob.yaml │ ├── inference_component.yaml │ ├── kmeans_processingjob.yaml │ ├── model_bias_job_definition_xgboost_churn.yaml │ ├── model_explainability_job_definition_xgboost_churn.yaml │ ├── model_quality_job_definition_xgboost_churn.yaml │ ├── monitoring_schedule_base.yaml │ ├── notebook_instance.yaml │ ├── notebook_instance_lifecycle_config.yaml │ ├── pipeline.yaml │ ├── pipeline_execution.yaml │ ├── pipeline_processing.yaml │ ├── user_profile.yaml │ ├── xgboost_hpojob.yaml │ ├── xgboost_model.yaml │ ├── xgboost_model_inference_component.yaml │ ├── xgboost_model_package_group.yaml │ ├── xgboost_model_with_model_location.yaml │ ├── xgboost_model_with_model_location_inference_component.yaml │ ├── xgboost_trainingjob.yaml │ ├── xgboost_trainingjob_debugger.yaml │ ├── xgboost_transformjob.yaml │ ├── xgboost_unversioned_model_package.yaml │ └── xgboost_versioned_model_package.yaml ├── service_bootstrap.py ├── service_cleanup.py ├── tags.py └── tests │ ├── __init__.py │ ├── test_adopt_endpoint.py │ ├── test_adopt_model_package.py │ ├── test_cross_region.py │ ├── test_data_quality_job_definition.py │ ├── test_endpoint.py │ ├── test_endpoint_config.py │ ├── test_feature_group.py │ ├── test_hpo.py │ ├── test_inference_component.py │ ├── test_labelingjob.py │ ├── test_model.py │ ├── test_model_bias_job_definition.py │ ├── test_model_explainability_job_definition.py │ ├── test_model_package.py │ ├── test_model_package_group.py │ ├── test_model_quality_job_definition.py │ ├── test_monitoring_schedule.py │ ├── test_notebook_instance.py │ ├── test_notebook_instance_lifecycle.py │ ├── test_pipeline.py │ ├── test_pipeline_execution.py │ ├── test_processingjob.py │ ├── test_retain_policy.py │ ├── test_studio.py │ ├── test_trainingjob.py │ ├── test_trainingjob_debugger.py │ └── test_transformjob.py └── scripts └── install-mockery.sh /.github/workflows/create-release.yml: -------------------------------------------------------------------------------- 1 | name: Create Release 2 | 3 | on: 4 | push: 5 | tags: 6 | - "v*.*.*" 7 | 8 | permissions: 9 | contents: write # For creating releases 10 | 11 | jobs: 12 | call-create-release: 13 | uses: aws-controllers-k8s/.github/.github/workflows/reusable-create-release.yaml@main 14 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | *.swp 3 | *~ 4 | .idea 5 | /docs/site 6 | bin 7 | test/bin 8 | build 9 | 10 | *.out 11 | *.html -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | ## Code of Conduct 2 | This project has adopted the [Amazon Open Source Code of Conduct](https://aws.github.io/code-of-conduct). 3 | For more information see the [Code of Conduct FAQ](https://aws.github.io/code-of-conduct-faq) or contact 4 | opensource-codeofconduct@amazon.com with any additional questions or comments. 5 | -------------------------------------------------------------------------------- /NOTICE: -------------------------------------------------------------------------------- 1 | Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | -------------------------------------------------------------------------------- /OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | 3 | approvers: 4 | - core-ack-team 5 | reviewers: 6 | - sagemaker-ack-team 7 | -------------------------------------------------------------------------------- /OWNERS_ALIASES: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners#owners_aliases 2 | 3 | aliases: 4 | core-ack-team: 5 | - a-hilaly 6 | - jlbutler 7 | - michaelhtm 8 | - rushmash91 9 | - knottnt 10 | # emeritus-core-ack-team: 11 | # - TiberiuGC 12 | # - jaypipes 13 | # - jljaco 14 | # - mhausenblas 15 | # - RedbackThomson 16 | # - vijtrip2 17 | # - ivelichkovich 18 | sagemaker-ack-team: 19 | - surajkota 20 | - ryansteakley 21 | - ananth102 22 | - sirutBuasai 23 | -------------------------------------------------------------------------------- /apis/v1alpha1/ack-generate-metadata.yaml: -------------------------------------------------------------------------------- 1 | ack_generate_info: 2 | build_date: "2025-06-05T20:52:28Z" 3 | build_hash: f23cc184980beb8545ed8d11f690909b558a857e 4 | go_version: go1.24.3 5 | version: v0.47.2-2-gf23cc18 6 | api_directory_checksum: 0b6625eb2e0b359687d13920cd0bb353a21e0e19 7 | api_version: v1alpha1 8 | aws_sdk_go_version: v1.32.6 9 | generator_config_info: 10 | file_checksum: 70c9edbf252f449db6a130c3cc7272a847aaaafd 11 | original_file_name: generator.yaml 12 | last_modification: 13 | reason: API generation 14 | -------------------------------------------------------------------------------- /apis/v1alpha1/doc.go: -------------------------------------------------------------------------------- 1 | // +k8s:deepcopy-gen=package 2 | // Package v1alpha1 is the v1alpha1 version of the sagemaker.services.k8s.aws API. 3 | // +groupName=sagemaker.services.k8s.aws 4 | package v1alpha1 5 | -------------------------------------------------------------------------------- /config/controller/kustomization.yaml: -------------------------------------------------------------------------------- 1 | resources: 2 | - deployment.yaml 3 | - service.yaml 4 | apiVersion: kustomize.config.k8s.io/v1beta1 5 | kind: Kustomization 6 | images: 7 | - name: controller 8 | newName: public.ecr.aws/aws-controllers-k8s/sagemaker-controller 9 | newTag: 1.3.0 10 | -------------------------------------------------------------------------------- /config/controller/service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: ack-sagemaker-metrics-service 5 | namespace: ack-system 6 | spec: 7 | selector: 8 | app.kubernetes.io/name: ack-sagemaker-controller 9 | ports: 10 | - name: metricsport 11 | port: 8080 12 | targetPort: http 13 | protocol: TCP 14 | type: ClusterIP 15 | -------------------------------------------------------------------------------- /config/crd/common/kustomization.yaml: -------------------------------------------------------------------------------- 1 | # Code generated in runtime. DO NOT EDIT. 2 | 3 | apiVersion: kustomize.config.k8s.io/v1beta1 4 | kind: Kustomization 5 | resources: 6 | - bases/services.k8s.aws_adoptedresources.yaml 7 | - bases/services.k8s.aws_fieldexports.yaml 8 | -------------------------------------------------------------------------------- /config/default/kustomization.yaml: -------------------------------------------------------------------------------- 1 | # Adds namespace to all resources. 2 | # namespace: 3 | 4 | # Value of this field is prepended to the 5 | # names of all resources, e.g. a deployment named 6 | # "wordpress" becomes "alices-wordpress". 7 | # Note that it should also match with the prefix (text before '-') of the namespace 8 | # field above. 9 | # namePrefix: 10 | 11 | # Labels to add to all resources and selectors. 12 | #commonLabels: 13 | # someName: someValue 14 | 15 | resources: 16 | - ../crd 17 | - ../rbac 18 | - ../controller 19 | 20 | patchesStrategicMerge: 21 | -------------------------------------------------------------------------------- /config/iam/recommended-policy-arn: -------------------------------------------------------------------------------- 1 | arn:aws:iam::aws:policy/AmazonSageMakerFullAccess -------------------------------------------------------------------------------- /config/overlays/namespaced/kustomization.yaml: -------------------------------------------------------------------------------- 1 | resources: 2 | - ../../default 3 | patches: 4 | - path: role.json 5 | target: 6 | group: rbac.authorization.k8s.io 7 | version: v1 8 | kind: ClusterRole 9 | name: ack-sagemaker-controller 10 | - path: role-binding.json 11 | target: 12 | group: rbac.authorization.k8s.io 13 | version: v1 14 | kind: ClusterRoleBinding 15 | name: ack-sagemaker-controller-rolebinding -------------------------------------------------------------------------------- /config/overlays/namespaced/role-binding.json: -------------------------------------------------------------------------------- 1 | [{"op": "replace", "path": "/kind", "value": "RoleBinding"}, 2 | {"op": "add", "path": "/metadata/namespace", "value": "ack-system"}, 3 | {"op": "replace", "path": "/roleRef/kind", "value": "Role"}] -------------------------------------------------------------------------------- /config/overlays/namespaced/role.json: -------------------------------------------------------------------------------- 1 | [{"op": "replace", "path": "/kind", "value": "Role"}, 2 | {"op": "add", "path": "/metadata/namespace", "value": "ack-system"}] -------------------------------------------------------------------------------- /config/rbac/cluster-role-binding.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: rbac.authorization.k8s.io/v1 2 | kind: ClusterRoleBinding 3 | metadata: 4 | name: ack-sagemaker-controller-rolebinding 5 | roleRef: 6 | apiGroup: rbac.authorization.k8s.io 7 | kind: ClusterRole 8 | name: ack-sagemaker-controller 9 | subjects: 10 | - kind: ServiceAccount 11 | name: ack-sagemaker-controller 12 | namespace: ack-system 13 | -------------------------------------------------------------------------------- /config/rbac/kustomization.yaml: -------------------------------------------------------------------------------- 1 | resources: 2 | - cluster-role-binding.yaml 3 | - cluster-role-controller.yaml 4 | - role-reader.yaml 5 | - role-writer.yaml 6 | - service-account.yaml 7 | - leader-election-role.yaml 8 | - leader-election-role-binding.yaml 9 | -------------------------------------------------------------------------------- /config/rbac/leader-election-role-binding.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: rbac.authorization.k8s.io/v1 3 | kind: RoleBinding 4 | metadata: 5 | namespace: ack-system 6 | name: sagemaker-leader-election-rolebinding 7 | roleRef: 8 | apiGroup: rbac.authorization.k8s.io 9 | kind: Role 10 | name: sagemaker-leader-election-role 11 | subjects: 12 | - kind: ServiceAccount 13 | name: ack-sagemaker-controller 14 | namespace: ack-system 15 | -------------------------------------------------------------------------------- /config/rbac/leader-election-role.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: rbac.authorization.k8s.io/v1 3 | kind: Role 4 | metadata: 5 | name: sagemaker-leader-election-role 6 | namespace: ack-system 7 | rules: 8 | - apiGroups: 9 | - coordination.k8s.io 10 | resources: 11 | - leases 12 | verbs: 13 | - get 14 | - list 15 | - watch 16 | - create 17 | - update 18 | - patch 19 | - delete 20 | - apiGroups: 21 | - "" 22 | resources: 23 | - events 24 | verbs: 25 | - create 26 | - patch 27 | -------------------------------------------------------------------------------- /config/rbac/role-reader.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: rbac.authorization.k8s.io/v1 3 | kind: Role 4 | metadata: 5 | creationTimestamp: null 6 | name: ack-sagemaker-reader 7 | namespace: default 8 | rules: 9 | - apiGroups: 10 | - sagemaker.services.k8s.aws 11 | resources: 12 | - apps 13 | - dataqualityjobdefinitions 14 | - domains 15 | - endpoints 16 | - endpointconfigs 17 | - featuregroups 18 | - hyperparametertuningjobs 19 | - inferencecomponents 20 | - labelingjobs 21 | - models 22 | - modelbiasjobdefinitions 23 | - modelexplainabilityjobdefinitions 24 | - modelpackages 25 | - modelpackagegroups 26 | - modelqualityjobdefinitions 27 | - monitoringschedules 28 | - notebookinstances 29 | - notebookinstancelifecycleconfigs 30 | - pipelines 31 | - pipelineexecutions 32 | - processingjobs 33 | - trainingjobs 34 | - transformjobs 35 | - userprofiles 36 | verbs: 37 | - get 38 | - list 39 | - watch 40 | -------------------------------------------------------------------------------- /config/rbac/service-account.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: v1 3 | kind: ServiceAccount 4 | metadata: 5 | name: ack-sagemaker-controller 6 | namespace: ack-system 7 | -------------------------------------------------------------------------------- /helm/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | name: sagemaker-chart 3 | description: A Helm chart for the ACK service controller for Amazon SageMaker (SageMaker) 4 | version: 1.3.0 5 | appVersion: 1.3.0 6 | home: https://github.com/aws-controllers-k8s/sagemaker-controller 7 | icon: https://raw.githubusercontent.com/aws/eks-charts/master/docs/logo/aws.png 8 | sources: 9 | - https://github.com/aws-controllers-k8s/sagemaker-controller 10 | maintainers: 11 | - name: ACK Admins 12 | url: https://github.com/orgs/aws-controllers-k8s/teams/ack-admin 13 | - name: SageMaker Admins 14 | url: https://github.com/orgs/aws-controllers-k8s/teams/sagemaker-maintainer 15 | keywords: 16 | - aws 17 | - kubernetes 18 | - sagemaker 19 | -------------------------------------------------------------------------------- /helm/templates/NOTES.txt: -------------------------------------------------------------------------------- 1 | {{ .Chart.Name }} has been installed. 2 | This chart deploys "public.ecr.aws/aws-controllers-k8s/sagemaker-controller:1.3.0". 3 | 4 | Check its status by running: 5 | kubectl --namespace {{ .Release.Namespace }} get pods -l "app.kubernetes.io/instance={{ .Release.Name }}" 6 | 7 | You are now able to create Amazon SageMaker (SageMaker) resources! 8 | 9 | The controller is running in "{{ .Values.installScope }}" mode. 10 | The controller is configured to manage AWS resources in region: "{{ .Values.aws.region }}" 11 | 12 | Visit https://aws-controllers-k8s.github.io/community/reference/ for an API 13 | reference of all the resources that can be created using this controller. 14 | 15 | For more information on the AWS Controllers for Kubernetes (ACK) project, visit: 16 | https://aws-controllers-k8s.github.io/community/ 17 | -------------------------------------------------------------------------------- /helm/templates/service-account.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.serviceAccount.create }} 2 | apiVersion: v1 3 | kind: ServiceAccount 4 | metadata: 5 | labels: 6 | app.kubernetes.io/name: {{ include "ack-sagemaker-controller.app.name" . }} 7 | app.kubernetes.io/instance: {{ .Release.Name }} 8 | app.kubernetes.io/managed-by: Helm 9 | app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} 10 | k8s-app: {{ include "ack-sagemaker-controller.app.name" . }} 11 | helm.sh/chart: {{ include "ack-sagemaker-controller.chart.name-version" . }} 12 | name: {{ include "ack-sagemaker-controller.service-account.name" . }} 13 | namespace: {{ .Release.Namespace }} 14 | annotations: 15 | {{- range $key, $value := .Values.serviceAccount.annotations }} 16 | {{ $key }}: {{ $value | quote }} 17 | {{- end }} 18 | {{- end }} 19 | -------------------------------------------------------------------------------- /metadata.yaml: -------------------------------------------------------------------------------- 1 | service: 2 | full_name: "Amazon SageMaker" 3 | short_name: "SageMaker" 4 | link: "https://aws.amazon.com/sagemaker/" 5 | documentation: "https://docs.aws.amazon.com/sagemaker/latest/dg/whatis.html" 6 | api_versions: 7 | - api_version: v1alpha1 8 | status: available 9 | -------------------------------------------------------------------------------- /pkg/resource/data_quality_job_definition/testdata/sdkapi/create/success_create.json: -------------------------------------------------------------------------------- 1 | { 2 | "JobDefinitionArn": "arn:aws:sagemaker:us-west-2:123456789012:data-quality-job-definition/unit-dq-job-definition" 3 | } -------------------------------------------------------------------------------- /pkg/resource/endpoint/testdata/sdkapi/create/create_success.json: -------------------------------------------------------------------------------- 1 | { 2 | "EndpointArn": "arn:aws:sagemaker:us-west-2:123456789012:endpoint/xgboost-endpoint" 3 | } -------------------------------------------------------------------------------- /pkg/resource/endpoint/testdata/sdkapi/describe/creating_after_create.json: -------------------------------------------------------------------------------- 1 | { 2 | "CreationTime": "0001-01-01T00:00:00.109Z", 3 | "DataCaptureConfig": null, 4 | "EndpointArn": "arn:aws:sagemaker:us-west-2:123456789012:endpoint/xgboost-endpoint", 5 | "EndpointConfigName": "xgboost-endpoint-single-variant-config", 6 | "EndpointName": "xgboost-endpoint", 7 | "EndpointStatus": "Creating", 8 | "FailureReason": null, 9 | "LastDeploymentConfig": null, 10 | "LastModifiedTime": "0001-01-01T00:00:00.109Z", 11 | "ProductionVariants": null 12 | } 13 | -------------------------------------------------------------------------------- /pkg/resource/endpoint/testdata/sdkapi/describe/failed_after_create.json: -------------------------------------------------------------------------------- 1 | { 2 | "CreationTime": "0001-01-01T00:00:00.109Z", 3 | "DataCaptureConfig": null, 4 | "EndpointArn": "arn:aws:sagemaker:us-west-2:123456789012:endpoint/xgboost-endpoint", 5 | "EndpointConfigName": "xgboost-endpoint-faulty-config", 6 | "EndpointName": "xgboost-endpoint", 7 | "EndpointStatus": "Failed", 8 | "FailureReason": " Failed to download model data for container from URL, blah", 9 | "LastDeploymentConfig": null, 10 | "LastModifiedTime": "0001-01-01T00:00:00.109Z", 11 | "ProductionVariants": null 12 | } 13 | -------------------------------------------------------------------------------- /pkg/resource/endpoint/testdata/sdkapi/update/update_success.json: -------------------------------------------------------------------------------- 1 | { 2 | "EndpointArn": "arn:aws:sagemaker:us-west-2:123456789012:endpoint/xgboost-endpoint" 3 | } -------------------------------------------------------------------------------- /pkg/resource/endpoint/testdata/v1alpha1/create/desired/invalid_before_create.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: Endpoint 3 | metadata: 4 | name: unit_testing_endpoint 5 | spec: 6 | endpointName: intentionally@invalid-name 7 | endpointConfigName: unit_testing_endpoint 8 | tags: 9 | - key: confidentiality 10 | value: public 11 | - key: environment 12 | value: testing 13 | - key: customer 14 | value: test-user 15 | -------------------------------------------------------------------------------- /pkg/resource/endpoint/testdata/v1alpha1/create/desired/success_before_create.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: Endpoint 3 | metadata: 4 | name: xgboost-endpoint 5 | spec: 6 | endpointConfigName: xgboost-endpoint-single-variant-config 7 | endpointName: xgboost-endpoint 8 | tags: 9 | - key: confidentiality 10 | value: public 11 | - key: environment 12 | value: testing 13 | - key: customer 14 | value: test-user 15 | -------------------------------------------------------------------------------- /pkg/resource/endpoint/testdata/v1alpha1/create/desired/success_before_create_deployment_config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: Endpoint 3 | metadata: 4 | name: xgboost-endpoint 5 | spec: 6 | endpointConfigName: xgboost-endpoint-single-variant-config 7 | endpointName: xgboost-endpoint 8 | deploymentConfig: 9 | autoRollbackConfiguration: 10 | alarms: 11 | - alarmName: 5xalarm-endpointtest 12 | blueGreenUpdatePolicy: 13 | maximumExecutionTimeoutInSeconds: 600 14 | terminationWaitInSeconds: 100 15 | trafficRoutingConfiguration: 16 | linearStepSize: 17 | type_: INSTANCE_COUNT 18 | value: 1 19 | type_: LINEAR 20 | waitIntervalInSeconds: 100 -------------------------------------------------------------------------------- /pkg/resource/endpoint/testdata/v1alpha1/create/observed/invalid_create_attempted.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: Endpoint 3 | metadata: 4 | creationTimestamp: null 5 | name: unit_testing_endpoint 6 | spec: 7 | endpointConfigName: unit_testing_endpoint 8 | endpointName: intentionally@invalid-name 9 | tags: 10 | - key: confidentiality 11 | value: public 12 | - key: environment 13 | value: testing 14 | - key: customer 15 | value: test-user 16 | status: 17 | ackResourceMetadata: 18 | ownerAccountID: "" 19 | region: "" 20 | conditions: 21 | - message: "InvalidParameterValue: The endpoint name must not include a special 22 | character.\n\tstatus code: 0, request id: " 23 | status: "True" 24 | type: ACK.Terminal 25 | -------------------------------------------------------------------------------- /pkg/resource/endpoint/testdata/v1alpha1/create/observed/success_after_create.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: Endpoint 3 | metadata: 4 | creationTimestamp: null 5 | name: xgboost-endpoint 6 | spec: 7 | endpointConfigName: xgboost-endpoint-single-variant-config 8 | endpointName: xgboost-endpoint 9 | tags: 10 | - key: confidentiality 11 | value: public 12 | - key: environment 13 | value: testing 14 | - key: customer 15 | value: test-user 16 | status: 17 | ackResourceMetadata: 18 | arn: arn:aws:sagemaker:us-west-2:123456789012:endpoint/xgboost-endpoint 19 | ownerAccountID: "" 20 | region: "" 21 | conditions: 22 | - status: "True" 23 | type: ACK.ResourceSynced 24 | -------------------------------------------------------------------------------- /pkg/resource/endpoint/testdata/v1alpha1/create/observed/success_after_create_deployment_config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: Endpoint 3 | metadata: 4 | creationTimestamp: null 5 | name: xgboost-endpoint 6 | spec: 7 | endpointConfigName: xgboost-endpoint-single-variant-config 8 | endpointName: xgboost-endpoint 9 | deploymentConfig: 10 | autoRollbackConfiguration: 11 | alarms: 12 | - alarmName: 5xalarm-endpointtest 13 | blueGreenUpdatePolicy: 14 | maximumExecutionTimeoutInSeconds: 600 15 | terminationWaitInSeconds: 100 16 | trafficRoutingConfiguration: 17 | linearStepSize: 18 | type_: INSTANCE_COUNT 19 | value: 1 20 | type_: LINEAR 21 | waitIntervalInSeconds: 100 22 | status: 23 | ackResourceMetadata: 24 | arn: arn:aws:sagemaker:us-west-2:123456789012:endpoint/xgboost-endpoint 25 | ownerAccountID: "" 26 | region: "" 27 | conditions: 28 | - status: "True" 29 | type: ACK.ResourceSynced 30 | -------------------------------------------------------------------------------- /pkg/resource/endpoint/testdata/v1alpha1/delete/desired/creating_before_delete.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: Endpoint 3 | metadata: 4 | creationTimestamp: null 5 | name: xgboost-endpoint 6 | spec: 7 | endpointConfigName: xgboost-endpoint-single-variant-config 8 | endpointName: xgboost-endpoint 9 | tags: 10 | - key: confidentiality 11 | value: public 12 | - key: environment 13 | value: testing 14 | - key: customer 15 | value: test-user 16 | status: 17 | ackResourceMetadata: 18 | arn: arn:aws:sagemaker:us-west-2:123456789012:endpoint/xgboost-endpoint 19 | ownerAccountID: "" 20 | region: "" 21 | conditions: 22 | - lastTransitionTime: "0001-01-01T00:00:00Z" 23 | message: Endpoint is in Creating status. 24 | status: "False" 25 | type: ACK.ResourceSynced 26 | creationTime: "0001-01-01T00:00:00Z" 27 | endpointStatus: Creating 28 | lastModifiedTime: "0001-01-01T00:00:00Z" 29 | latestEndpointConfigName: xgboost-endpoint-single-variant-config 30 | -------------------------------------------------------------------------------- /pkg/resource/endpoint/testdata/v1alpha1/readone/desired/failed_right_after_create.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: Endpoint 3 | metadata: 4 | creationTimestamp: null 5 | name: xgboost-endpoint 6 | spec: 7 | endpointConfigName: xgboost-endpoint-faulty-config 8 | endpointName: xgboost-endpoint 9 | tags: 10 | - key: confidentiality 11 | value: public 12 | - key: environment 13 | value: testing 14 | - key: customer 15 | value: test-user 16 | status: 17 | ackResourceMetadata: 18 | arn: arn:aws:sagemaker:us-west-2:123456789012:endpoint/xgboost-endpoint 19 | ownerAccountID: "" 20 | region: "" 21 | conditions: 22 | - status: "True" 23 | type: ACK.ResourceSynced 24 | creationTime: "0001-01-01T00:00:00Z" -------------------------------------------------------------------------------- /pkg/resource/endpoint/testdata/v1alpha1/readone/desired/missing_required_field.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: Endpoint 3 | metadata: 4 | creationTimestamp: null 5 | name: xgboost-endpoint 6 | spec: 7 | endpointConfigName: xgboost-endpoint-single-variant-config 8 | -------------------------------------------------------------------------------- /pkg/resource/endpoint/testdata/v1alpha1/readone/desired/right_after_create.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: Endpoint 3 | metadata: 4 | creationTimestamp: null 5 | name: xgboost-endpoint 6 | spec: 7 | endpointConfigName: xgboost-endpoint-single-variant-config 8 | endpointName: xgboost-endpoint 9 | tags: 10 | - key: confidentiality 11 | value: public 12 | - key: environment 13 | value: testing 14 | - key: customer 15 | value: test-user 16 | status: 17 | ackResourceMetadata: 18 | arn: arn:aws:sagemaker:us-west-2:123456789012:endpoint/xgboost-endpoint 19 | ownerAccountID: "" 20 | region: "" 21 | conditions: 22 | - status: "True" 23 | type: ACK.ResourceSynced 24 | creationTime: "0001-01-01T00:00:00Z" -------------------------------------------------------------------------------- /pkg/resource/endpoint/testdata/v1alpha1/readone/observed/creating_after_describe.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: Endpoint 3 | metadata: 4 | creationTimestamp: null 5 | name: xgboost-endpoint 6 | spec: 7 | endpointConfigName: xgboost-endpoint-single-variant-config 8 | endpointName: xgboost-endpoint 9 | tags: 10 | - key: confidentiality 11 | value: public 12 | - key: environment 13 | value: testing 14 | - key: customer 15 | value: test-user 16 | status: 17 | ackResourceMetadata: 18 | arn: arn:aws:sagemaker:us-west-2:123456789012:endpoint/xgboost-endpoint 19 | ownerAccountID: "" 20 | region: "" 21 | conditions: 22 | - lastTransitionTime: "0001-01-01T00:00:00Z" 23 | message: Endpoint is in Creating status. 24 | status: "False" 25 | type: ACK.ResourceSynced 26 | creationTime: "0001-01-01T00:00:00Z" 27 | endpointStatus: Creating 28 | lastModifiedTime: "0001-01-01T00:00:00Z" 29 | -------------------------------------------------------------------------------- /pkg/resource/endpoint/testdata/v1alpha1/readone/observed/error_on_describe.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: Endpoint 3 | metadata: 4 | creationTimestamp: null 5 | name: xgboost-endpoint 6 | spec: 7 | endpointConfigName: xgboost-endpoint-single-variant-config 8 | endpointName: xgboost-endpoint 9 | tags: 10 | - key: confidentiality 11 | value: public 12 | - key: environment 13 | value: testing 14 | - key: customer 15 | value: test-user 16 | status: 17 | ackResourceMetadata: 18 | arn: arn:aws:sagemaker:us-west-2:123456789012:endpoint/xgboost-endpoint 19 | ownerAccountID: "" 20 | region: "" 21 | conditions: 22 | - status: "True" 23 | type: ACK.ResourceSynced 24 | - message: "ServiceUnavailable: Server is down\n\tstatus code: 0, request id: " 25 | status: "True" 26 | type: ACK.Recoverable 27 | creationTime: null 28 | -------------------------------------------------------------------------------- /pkg/resource/endpoint_config/testdata/sdkapi/create/success_create.json: -------------------------------------------------------------------------------- 1 | { 2 | "EndpointConfigArn": "arn:aws:sagemaker:us-west-2:123456789012:endpoint-config/single-variant-config" 3 | } -------------------------------------------------------------------------------- /pkg/resource/endpoint_config/testdata/sdkapi/describe/sucess_serverless.json: -------------------------------------------------------------------------------- 1 | { 2 | "AsyncInferenceConfig": null, 3 | "CreationTime": "0001-01-01T00:00:00Z", 4 | "DataCaptureConfig": null, 5 | "EndpointConfigArn": "arn:aws:sagemaker:us-west-2:123456789012:endpoint-config/single-variant-config", 6 | "EndpointConfigName": "single-variant-config", 7 | "ExplainerConfig": null, 8 | "KmsKeyId": null, 9 | "ProductionVariants": [ 10 | { 11 | "AcceleratorType": null, 12 | "ContainerStartupHealthCheckTimeoutInSeconds": null, 13 | "CoreDumpConfig": null, 14 | "InitialInstanceCount": null, 15 | "InitialVariantWeight": 1, 16 | "InstanceType": null, 17 | "ModelDataDownloadTimeoutInSeconds": null, 18 | "ModelName": "single-variant-config-model", 19 | "ServerlessConfig": { 20 | "MaxConcurrency": 20, 21 | "MemorySizeInMB": 1024 22 | }, 23 | "VariantName": "AllTraffic", 24 | "VolumeSizeInGB": 5 25 | } 26 | ] 27 | } -------------------------------------------------------------------------------- /pkg/resource/endpoint_config/testdata/v1alpha1/create/desired/invalid_before_create.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: EndpointConfig 3 | metadata: 4 | name: unit-testing-endpoint-config 5 | spec: 6 | endpointConfigName: intentionally@invalid-name 7 | productionVariants: 8 | - variantName: variant-1 9 | modelName: model-1 10 | # instanceCount is 2 to test retainAllVariantProperties 11 | initialInstanceCount: 2 12 | # This is the smallest instance type which will support scaling 13 | instanceType: ml.c5.large 14 | initialVariantWeight: 1 15 | tags: 16 | - key: confidentiality 17 | value: public 18 | - key: environment 19 | value: testing 20 | - key: customer 21 | value: test-user 22 | -------------------------------------------------------------------------------- /pkg/resource/endpoint_config/testdata/v1alpha1/create/observed/invalid_create_attempted.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: EndpointConfig 3 | metadata: 4 | creationTimestamp: null 5 | name: unit-testing-endpoint-config 6 | spec: 7 | endpointConfigName: intentionally@invalid-name 8 | productionVariants: 9 | - initialInstanceCount: 2 10 | initialVariantWeight: 1 11 | instanceType: ml.c5.large 12 | modelName: model-1 13 | variantName: variant-1 14 | tags: 15 | - key: confidentiality 16 | value: public 17 | - key: environment 18 | value: testing 19 | - key: customer 20 | value: test-user 21 | status: 22 | ackResourceMetadata: 23 | ownerAccountID: "" 24 | region: "" 25 | conditions: 26 | - message: "InvalidParameterValue: The endpoint config name must not include a special 27 | character.\n\tstatus code: 0, request id: " 28 | status: "True" 29 | type: ACK.Terminal 30 | -------------------------------------------------------------------------------- /pkg/resource/endpoint_config/testdata/v1alpha1/readone/desired/serverless_endpoint_create.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: EndpointConfig 3 | metadata: 4 | creationTimestamp: null 5 | name: single-variant-config 6 | spec: 7 | endpointConfigName: single-variant-config 8 | productionVariants: 9 | - initialVariantWeight: 1 10 | modelName: single-variant-config-model 11 | variantName: AllTraffic 12 | serverlessConfig: 13 | maxConcurrency: 20 14 | memorySizeInMB: 1024 15 | status: 16 | ackResourceMetadata: 17 | arn: arn:aws:sagemaker:us-west-2:123456789012:endpoint-config/single-variant-config 18 | ownerAccountID: "" 19 | region: "" 20 | conditions: [] 21 | -------------------------------------------------------------------------------- /pkg/resource/endpoint_config/testdata/v1alpha1/readone/observed/serverless_endpoint_on_success.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: EndpointConfig 3 | metadata: 4 | creationTimestamp: null 5 | name: single-variant-config 6 | spec: 7 | endpointConfigName: single-variant-config 8 | productionVariants: 9 | - initialVariantWeight: 1 10 | modelName: single-variant-config-model 11 | variantName: AllTraffic 12 | serverlessConfig: 13 | maxConcurrency: 20 14 | memorySizeInMB: 1024 15 | status: 16 | ackResourceMetadata: 17 | arn: arn:aws:sagemaker:us-west-2:123456789012:endpoint-config/single-variant-config 18 | ownerAccountID: "" 19 | region: "" 20 | conditions: [] -------------------------------------------------------------------------------- /pkg/resource/feature_group/testdata/feature_group/create/fg_before_create.json: -------------------------------------------------------------------------------- 1 | { 2 | "FeatureGroupArn": "arn:aws:sagemaker:us-west-2:123456789012:feature-group/unit-testing-feature-group" 3 | } 4 | -------------------------------------------------------------------------------- /pkg/resource/feature_group/testdata/feature_group/v1alpha1/fg_before_create.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: FeatureGroup 3 | metadata: 4 | name: unit-testing-feature-group 5 | spec: 6 | eventTimeFeatureName: EventTime 7 | featureDefinitions: 8 | - featureName: TransactionID 9 | featureType: Integral 10 | - featureName: EventTime 11 | featureType: Fractional 12 | featureGroupName: unit-testing-feature-group 13 | offlineStoreConfig: 14 | s3StorageConfig: 15 | s3URI: s3://source-data-bucket-592697580195-us-west-2/sagemaker/feature-group-data 16 | recordIdentifierFeatureName: TransactionID 17 | roleARN: arn:aws:iam::123456789012:role/ack-sagemaker-execution-role 18 | -------------------------------------------------------------------------------- /pkg/resource/feature_group/testdata/feature_group/v1alpha1/fg_create_initiated.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: FeatureGroup 3 | metadata: 4 | creationTimestamp: null 5 | name: unit-testing-feature-group 6 | spec: 7 | eventTimeFeatureName: EventTime 8 | featureDefinitions: 9 | - featureName: TransactionID 10 | featureType: Integral 11 | - featureName: EventTime 12 | featureType: Fractional 13 | featureGroupName: unit-testing-feature-group 14 | offlineStoreConfig: 15 | s3StorageConfig: 16 | s3URI: s3://source-data-bucket-592697580195-us-west-2/sagemaker/feature-group-data 17 | recordIdentifierFeatureName: TransactionID 18 | roleARN: arn:aws:iam::123456789012:role/ack-sagemaker-execution-role 19 | status: 20 | ackResourceMetadata: 21 | arn: arn:aws:sagemaker:us-west-2:123456789012:feature-group/unit-testing-feature-group 22 | ownerAccountID: "" 23 | region: "" 24 | conditions: [] 25 | -------------------------------------------------------------------------------- /pkg/resource/feature_group/testdata/feature_group/v1alpha1/fg_invalid_before_create.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: FeatureGroup 3 | metadata: 4 | name: unit-testing-feature-group 5 | spec: 6 | eventTimeFeatureName: EventTime 7 | featureDefinitions: 8 | - featureName: TransactionID 9 | featureType: Integral 10 | - featureName: EventTime 11 | featureType: Fractional 12 | featureGroupName: intentionally@invalid-name 13 | offlineStoreConfig: 14 | s3StorageConfig: 15 | s3URI: s3://source-data-bucket-592697580195-us-west-2/sagemaker/feature-group-data 16 | recordIdentifierFeatureName: TransactionID 17 | roleARN: arn:aws:iam::123456789012:role/ack-sagemaker-execution-role 18 | -------------------------------------------------------------------------------- /pkg/resource/hyper_parameter_tuning_job/testdata/sdkapi/create/success_create.json: -------------------------------------------------------------------------------- 1 | { 2 | "HyperParameterTuningJobArn": "arn:aws:sagemaker:us-west-2:123456789012:hyperparameter-tuning-job/unit-testing-hyper-parameter-tuning-job" 3 | } -------------------------------------------------------------------------------- /pkg/resource/inference_component/testdata/sdkapi/create/create_success.json: -------------------------------------------------------------------------------- 1 | { 2 | "InferenceComponentArn": "arn:aws:sagemaker:us-west-2:123456789012:inference-component/xgboost-inference-component" 3 | } -------------------------------------------------------------------------------- /pkg/resource/inference_component/testdata/sdkapi/describe/creating_after_create.json: -------------------------------------------------------------------------------- 1 | { 2 | "CreationTime": "0001-01-01T00:00:00.109Z", 3 | "InferenceComponentArn": "arn:aws:sagemaker:us-west-2:123456789012:inference-component/xgboost-inference-component", 4 | "InferenceComponentName": "xgboost-inference-component", 5 | "EndpointArn": "arn:aws:sagemaker:us-west-2:123456789012:endpoint/xgboost-endpoint", 6 | "EndpointName": "xgboost-endpoint", 7 | "VariantName": "variant-1", 8 | "Specification": { 9 | "ModelName": "model-1", 10 | "ComputeResourceRequirements": { 11 | "NumberOfCpuCoresRequired": 4.0, 12 | "NumberOfAcceleratorDevicesRequired": 4.0, 13 | "MinMemoryRequiredInMb": 1024 14 | } 15 | }, 16 | "RuntimeConfig": { 17 | "DesiredCopyCount": 1, 18 | "CurrentCopyCount": 1 19 | }, 20 | "LastModifiedTime": "0001-01-01T00:00:00.109Z", 21 | "InferenceComponentStatus": "Creating" 22 | } 23 | -------------------------------------------------------------------------------- /pkg/resource/inference_component/testdata/sdkapi/describe/deleting.json: -------------------------------------------------------------------------------- 1 | { 2 | "CreationTime": "0001-01-01T00:00:00.109Z", 3 | "InferenceComponentArn": "arn:aws:sagemaker:us-west-2:123456789012:inference-component/xgboost-inference-component", 4 | "InferenceComponentName": "xgboost-inference-component", 5 | "EndpointArn": "arn:aws:sagemaker:us-west-2:123456789012:endpoint/xgboost-endpoint", 6 | "EndpointName": "xgboost-endpoint", 7 | "VariantName": "variant-1", 8 | "Specification": { 9 | "ModelName": "model-1", 10 | "ComputeResourceRequirements": { 11 | "NumberOfCpuCoresRequired": 4.0, 12 | "NumberOfAcceleratorDevicesRequired": 4.0, 13 | "MinMemoryRequiredInMb": 1024 14 | } 15 | }, 16 | "RuntimeConfig": { 17 | "DesiredCopyCount": 1, 18 | "CurrentCopyCount": 1 19 | }, 20 | "LastModifiedTime": "0001-01-01T00:00:00.109Z", 21 | "InferenceComponentStatus": "Deleting" 22 | } 23 | -------------------------------------------------------------------------------- /pkg/resource/inference_component/testdata/sdkapi/describe/inservice_no_failure_reason.json: -------------------------------------------------------------------------------- 1 | { 2 | "CreationTime": "0001-01-01T00:00:00.109Z", 3 | "InferenceComponentArn": "arn:aws:sagemaker:us-west-2:123456789012:inference-component/xgboost-inference-component", 4 | "InferenceComponentName": "xgboost-inference-component", 5 | "EndpointArn": "arn:aws:sagemaker:us-west-2:123456789012:endpoint/xgboost-endpoint", 6 | "EndpointName": "xgboost-endpoint", 7 | "VariantName": "variant-1", 8 | "Specification": { 9 | "ModelName": "model-1", 10 | "ComputeResourceRequirements": { 11 | "NumberOfCpuCoresRequired": 4.0, 12 | "NumberOfAcceleratorDevicesRequired": 4.0, 13 | "MinMemoryRequiredInMb": 1024 14 | } 15 | }, 16 | "RuntimeConfig": { 17 | "DesiredCopyCount": 1, 18 | "CurrentCopyCount": 1 19 | }, 20 | "LastModifiedTime": "0001-01-01T00:00:00.109Z", 21 | "InferenceComponentStatus": "InService" 22 | } 23 | -------------------------------------------------------------------------------- /pkg/resource/inference_component/testdata/sdkapi/describe/updating.json: -------------------------------------------------------------------------------- 1 | { 2 | "CreationTime": "0001-01-01T00:00:00.109Z", 3 | "InferenceComponentArn": "arn:aws:sagemaker:us-west-2:123456789012:inference-component/xgboost-inference-component", 4 | "InferenceComponentName": "xgboost-inference-component", 5 | "EndpointArn": "arn:aws:sagemaker:us-west-2:123456789012:endpoint/xgboost-endpoint", 6 | "EndpointName": "xgboost-endpoint", 7 | "VariantName": "variant-1", 8 | "Specification": { 9 | "ModelName": "model-1", 10 | "ComputeResourceRequirements": { 11 | "NumberOfCpuCoresRequired": 4.0, 12 | "NumberOfAcceleratorDevicesRequired": 4.0, 13 | "MinMemoryRequiredInMb": 1024 14 | } 15 | }, 16 | "RuntimeConfig": { 17 | "DesiredCopyCount": 1, 18 | "CurrentCopyCount": 1 19 | }, 20 | "LastModifiedTime": "0001-01-01T00:00:00.109Z", 21 | "InferenceComponentStatus": "Updating" 22 | } -------------------------------------------------------------------------------- /pkg/resource/inference_component/testdata/sdkapi/update/update_success.json: -------------------------------------------------------------------------------- 1 | { 2 | "InferenceComponentArn": "arn:aws:sagemaker:us-west-2:123456789012:inference-component/xgboost-inference-component" 3 | } -------------------------------------------------------------------------------- /pkg/resource/inference_component/testdata/v1alpha1/create/desired/invalid_before_create.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: InferenceComponent 3 | metadata: 4 | name: xgboost-inference-component 5 | spec: 6 | inferenceComponentName: intentionally@invalid-name 7 | endpointName: xgboost-endpoint 8 | variantName: variant-1 9 | specification: 10 | modelName: model-1 11 | computeResourceRequirements: 12 | numberOfAcceleratorDevicesRequired: 4 13 | numberOfCPUCoresRequired: 4 14 | minMemoryRequiredInMb: 1024 15 | runtimeConfig: 16 | copyCount: 1 17 | tags: 18 | - key: confidentiality 19 | value: public 20 | - key: environment 21 | value: testing 22 | - key: customer 23 | value: test-user -------------------------------------------------------------------------------- /pkg/resource/inference_component/testdata/v1alpha1/create/desired/success_before_create.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: InferenceComponent 3 | metadata: 4 | name: xgboost-inference-component 5 | spec: 6 | inferenceComponentName: xgboost-inference-component 7 | endpointName: xgboost-endpoint 8 | variantName: variant-1 9 | specification: 10 | modelName: model-1 11 | computeResourceRequirements: 12 | numberOfAcceleratorDevicesRequired: 4 13 | numberOfCPUCoresRequired: 4 14 | minMemoryRequiredInMb: 1024 15 | runtimeConfig: 16 | copyCount: 1 17 | tags: 18 | - key: confidentiality 19 | value: public 20 | - key: environment 21 | value: testing 22 | - key: customer 23 | value: test-user -------------------------------------------------------------------------------- /pkg/resource/inference_component/testdata/v1alpha1/create/observed/success_after_create.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: InferenceComponent 3 | metadata: 4 | name: xgboost-inference-component 5 | spec: 6 | inferenceComponentName: xgboost-inference-component 7 | endpointName: xgboost-endpoint 8 | variantName: variant-1 9 | specification: 10 | modelName: model-1 11 | computeResourceRequirements: 12 | numberOfAcceleratorDevicesRequired: 4 13 | numberOfCPUCoresRequired: 4 14 | minMemoryRequiredInMb: 1024 15 | runtimeConfig: 16 | copyCount: 1 17 | tags: 18 | - key: confidentiality 19 | value: public 20 | - key: environment 21 | value: testing 22 | - key: customer 23 | value: test-user 24 | status: 25 | ackResourceMetadata: 26 | arn: arn:aws:sagemaker:us-west-2:123456789012:inference-component/xgboost-inference-component 27 | ownerAccountID: "" 28 | region: "" 29 | conditions: 30 | - status: "True" 31 | type: ACK.ResourceSynced 32 | -------------------------------------------------------------------------------- /pkg/resource/inference_component/testdata/v1alpha1/readone/desired/missing_required_field.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: InferenceComponent 3 | metadata: 4 | name: xgboost-inference-component 5 | spec: 6 | endpointName: xgboost-endpoint 7 | -------------------------------------------------------------------------------- /pkg/resource/model/testdata/sdkapi/create/success_create.json: -------------------------------------------------------------------------------- 1 | { 2 | "ModelArn": "arn:aws:sagemaker:us-west-2:123456789012:model/xgboost-model" 3 | } -------------------------------------------------------------------------------- /pkg/resource/model/testdata/sdkapi/describe/success_primary_container.json: -------------------------------------------------------------------------------- 1 | { 2 | "Containers": null, 3 | "CreationTime": "2021-09-06T17:50:53.793Z", 4 | "EnableNetworkIsolation": false, 5 | "ExecutionRoleArn": "arn:aws:iam::123456789012:role/ack-sagemaker-execution-role", 6 | "InferenceExecutionConfig": null, 7 | "ModelArn": "arn:aws:sagemaker:us-west-2:123456789012:model/xgboost-model", 8 | "ModelName": "xgboost-model", 9 | "PrimaryContainer": { 10 | "ContainerHostname": "xgboost", 11 | "Environment": { 12 | "my_var": "my_value", 13 | "my_var2": "my_value2" 14 | }, 15 | "Image": "433757028032.dkr.ecr.us-west-2.amazonaws.com/xgboost:latest", 16 | "ImageConfig": null, 17 | "Mode": "MultiModel", 18 | "ModelDataUrl": "s3://source-data-bucket-592697580195-us-west-2/sagemaker/model/xgboost-mnist-model.tar.gz", 19 | "ModelPackageName": null, 20 | "MultiModelConfig": { 21 | "ModelCacheSetting" : "Disabled" 22 | } 23 | }, 24 | "VpcConfig": null 25 | } -------------------------------------------------------------------------------- /pkg/resource/model/testdata/v1alpha1/create/desired/before_create_primary_container.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: Model 3 | metadata: 4 | name: xgboost-model 5 | spec: 6 | executionRoleARN: arn:aws:iam::123456789012:role/ack-sagemaker-execution-role 7 | modelName: xgboost-model 8 | primaryContainer: 9 | containerHostname: xgboost 10 | environment: 11 | my_var: my_value 12 | my_var2: my_value2 13 | image: 433757028032.dkr.ecr.us-west-2.amazonaws.com/xgboost:latest 14 | modelDataURL: s3://source-data-bucket-592697580195-us-west-2/sagemaker/model/xgboost-mnist-model.tar.gz 15 | mode: MultiModel 16 | multiModelConfig: 17 | modelCacheSetting: Disabled 18 | enableNetworkIsolation: false 19 | tags: 20 | - key: algorithm 21 | value: xgboost 22 | - key: environment 23 | value: testing 24 | - key: customer 25 | value: test-user -------------------------------------------------------------------------------- /pkg/resource/model/testdata/v1alpha1/create/desired/invalid_before_create.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: Model 3 | metadata: 4 | name: unit-testing-model 5 | spec: 6 | modelName: intentionally@invalid-name 7 | primaryContainer: 8 | containerHostname: xgboost 9 | modelDataURL: s3://source-data-bucket-592697580195-us-west-2/sagemaker/model/xgboost-mnist-model.tar.gz 10 | image: 433757028032.dkr.ecr.us-west-2.amazonaws.com 11 | environment: 12 | my_var: my_value 13 | my_var2: my_value2 14 | executionRoleARN: arn:aws:iam::123456789012:role/ack-sagemaker-execution-role 15 | tags: 16 | - key: algorithm 17 | value: xgboost 18 | - key: environment 19 | value: testing 20 | - key: customer 21 | value: test-user 22 | -------------------------------------------------------------------------------- /pkg/resource/model/testdata/v1alpha1/create/desired/success_before_create.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: Model 3 | metadata: 4 | name: xgboost-model 5 | spec: 6 | containers: 7 | - containerHostname: xgboost 8 | environment: 9 | my_var: my_value 10 | my_var2: my_value2 11 | image: 246618743249.dkr.ecr.us-west-2.amazonaws.com/sagemaker-xgboost:1.0-1-cpu-py3 12 | imageConfig: 13 | repositoryAccessMode: Platform 14 | modelDataURL: s3://source-data-bucket-592697580195-us-west-2/sagemaker/model/xgboost-mnist-model.tar.gz 15 | executionRoleARN: arn:aws:iam::123456789012:role/ack-sagemaker-execution-role 16 | modelName: xgboost-model 17 | -------------------------------------------------------------------------------- /pkg/resource/model/testdata/v1alpha1/create/observed/success_after_create.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: Model 3 | metadata: 4 | creationTimestamp: null 5 | name: xgboost-model 6 | spec: 7 | containers: 8 | - containerHostname: xgboost 9 | environment: 10 | my_var: my_value 11 | my_var2: my_value2 12 | image: 246618743249.dkr.ecr.us-west-2.amazonaws.com/sagemaker-xgboost:1.0-1-cpu-py3 13 | imageConfig: 14 | repositoryAccessMode: Platform 15 | modelDataURL: s3://source-data-bucket-592697580195-us-west-2/sagemaker/model/xgboost-mnist-model.tar.gz 16 | executionRoleARN: arn:aws:iam::123456789012:role/ack-sagemaker-execution-role 17 | modelName: xgboost-model 18 | status: 19 | ackResourceMetadata: 20 | arn: arn:aws:sagemaker:us-west-2:123456789012:model/xgboost-model 21 | ownerAccountID: "" 22 | region: "" 23 | conditions: [] 24 | -------------------------------------------------------------------------------- /pkg/resource/model/testdata/v1alpha1/delete/observed/error_on_delete.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: Model 3 | metadata: 4 | creationTimestamp: null 5 | name: xgboost-model 6 | spec: 7 | containers: 8 | - containerHostname: xgboost 9 | environment: 10 | my_var: my_value 11 | my_var2: my_value2 12 | image: 246618743249.dkr.ecr.us-west-2.amazonaws.com/sagemaker-xgboost:1.0-1-cpu-py3 13 | imageConfig: 14 | repositoryAccessMode: Platform 15 | modelDataURL: s3://source-data-bucket-592697580195-us-west-2/sagemaker/model/xgboost-mnist-model.tar.gz 16 | executionRoleARN: arn:aws:iam::123456789012:role/ack-sagemaker-execution-role 17 | modelName: xgboost-model 18 | status: 19 | ackResourceMetadata: 20 | arn: arn:aws:sagemaker:us-west-2:123456789012:model/xgboost-model 21 | ownerAccountID: "" 22 | region: "" 23 | conditions: 24 | - message: "ServiceUnavailable: Server is down\n\tstatus code: 0, request id: " 25 | status: "True" 26 | type: ACK.Recoverable 27 | -------------------------------------------------------------------------------- /pkg/resource/model/testdata/v1alpha1/readone/desired/after_create.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: Model 3 | metadata: 4 | creationTimestamp: null 5 | name: xgboost-model 6 | spec: 7 | containers: 8 | - containerHostname: xgboost 9 | environment: 10 | my_var: my_value 11 | my_var2: my_value2 12 | image: 246618743249.dkr.ecr.us-west-2.amazonaws.com/sagemaker-xgboost:1.0-1-cpu-py3 13 | imageConfig: 14 | repositoryAccessMode: Platform 15 | modelDataURL: s3://source-data-bucket-592697580195-us-west-2/sagemaker/model/xgboost-mnist-model.tar.gz 16 | executionRoleARN: arn:aws:iam::123456789012:role/ack-sagemaker-execution-role 17 | modelName: xgboost-model 18 | status: 19 | ackResourceMetadata: 20 | arn: arn:aws:sagemaker:us-west-2:123456789012:model/xgboost-model 21 | ownerAccountID: "" 22 | region: "" 23 | conditions: [] 24 | -------------------------------------------------------------------------------- /pkg/resource/model/testdata/v1alpha1/readone/desired/missing_required_field.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: Model 3 | metadata: 4 | name: xgboost-model 5 | spec: 6 | containers: 7 | - containerHostname: xgboost 8 | environment: 9 | my_var: my_value 10 | my_var2: my_value2 11 | image: 246618743249.dkr.ecr.us-west-2.amazonaws.com/sagemaker-xgboost:1.0-1-cpu-py3 12 | imageConfig: 13 | repositoryAccessMode: Platform 14 | modelDataURL: s3://source-data-bucket-592697580195-us-west-2/sagemaker/model/xgboost-mnist-model.tar.gz 15 | executionRoleARN: arn:aws:iam::123456789012:role/ack-sagemaker-execution-role 16 | # missing model name -------------------------------------------------------------------------------- /pkg/resource/model/testdata/v1alpha1/readone/observed/created.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: Model 3 | metadata: 4 | creationTimestamp: null 5 | name: xgboost-model 6 | spec: 7 | containers: 8 | - containerHostname: xgboost 9 | environment: 10 | my_var: my_value 11 | my_var2: my_value2 12 | image: 246618743249.dkr.ecr.us-west-2.amazonaws.com/sagemaker-xgboost:1.0-1-cpu-py3 13 | imageConfig: 14 | repositoryAccessMode: Platform 15 | repositoryAuthConfig: {} 16 | mode: SingleModel 17 | modelDataURL: s3://source-data-bucket-592697580195-us-west-2/sagemaker/model/xgboost-mnist-model.tar.gz 18 | enableNetworkIsolation: false 19 | executionRoleARN: arn:aws:iam::123456789012:role/ack-sagemaker-execution-role 20 | modelName: xgboost-model 21 | status: 22 | ackResourceMetadata: 23 | arn: arn:aws:sagemaker:us-west-2:123456789012:model/xgboost-model 24 | ownerAccountID: "" 25 | region: "" 26 | conditions: [] 27 | -------------------------------------------------------------------------------- /pkg/resource/model/testdata/v1alpha1/readone/observed/error_on_describe.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: Model 3 | metadata: 4 | creationTimestamp: null 5 | name: xgboost-model 6 | spec: 7 | containers: 8 | - containerHostname: xgboost 9 | environment: 10 | my_var: my_value 11 | my_var2: my_value2 12 | image: 246618743249.dkr.ecr.us-west-2.amazonaws.com/sagemaker-xgboost:1.0-1-cpu-py3 13 | imageConfig: 14 | repositoryAccessMode: Platform 15 | modelDataURL: s3://source-data-bucket-592697580195-us-west-2/sagemaker/model/xgboost-mnist-model.tar.gz 16 | executionRoleARN: arn:aws:iam::123456789012:role/ack-sagemaker-execution-role 17 | modelName: xgboost-model 18 | status: 19 | ackResourceMetadata: 20 | arn: arn:aws:sagemaker:us-west-2:123456789012:model/xgboost-model 21 | ownerAccountID: "" 22 | region: "" 23 | conditions: 24 | - message: "ServiceUnavailable: Server is down\n\tstatus code: 0, request id: " 25 | status: "True" 26 | type: ACK.Recoverable 27 | -------------------------------------------------------------------------------- /pkg/resource/model/testdata/v1alpha1/update/desired/latest_post_create.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: Model 3 | metadata: 4 | creationTimestamp: null 5 | name: xgboost-model 6 | spec: 7 | containers: 8 | - containerHostname: xgboost 9 | environment: 10 | my_var: my_value 11 | my_var2: my_value2 12 | image: 246618743249.dkr.ecr.us-west-2.amazonaws.com/sagemaker-xgboost:1.0-1-cpu-py3 13 | imageConfig: 14 | repositoryAccessMode: Platform 15 | modelDataURL: s3://source-data-bucket-592697580195-us-west-2/sagemaker/model/xgboost-mnist-model.tar.gz 16 | executionRoleARN: arn:aws:iam::123456789012:role/ack-sagemaker-execution-role 17 | modelName: xgboost-model 18 | status: 19 | ackResourceMetadata: 20 | arn: arn:aws:sagemaker:us-west-2:123456789012:model/xgboost-model 21 | ownerAccountID: "" 22 | region: "" 23 | conditions: [] -------------------------------------------------------------------------------- /pkg/resource/model/testdata/v1alpha1/update/observed/error_on_update.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: Model 3 | metadata: 4 | creationTimestamp: null 5 | name: xgboost-model 6 | spec: 7 | containers: 8 | - containerHostname: xgboost 9 | environment: 10 | my_var: my_value 11 | my_var2: my_value2 12 | image: 246618743249.dkr.ecr.us-west-2.amazonaws.com/sagemaker-xgboost:1.0-1-cpu-py3 13 | imageConfig: 14 | repositoryAccessMode: Platform 15 | modelDataURL: s3://source-data-bucket-592697580195-us-west-2/sagemaker/model/xgboost-mnist-model.tar.gz 16 | executionRoleARN: arn:aws:iam::123456789012:role/ack-sagemaker-execution-role 17 | modelName: xgboost-model 18 | status: 19 | ackResourceMetadata: 20 | arn: arn:aws:sagemaker:us-west-2:123456789012:model/xgboost-model 21 | ownerAccountID: "" 22 | region: "" 23 | conditions: 24 | - message: not implemented 25 | status: "True" 26 | type: ACK.Terminal 27 | -------------------------------------------------------------------------------- /pkg/resource/model_bias_job_definition/testdata/sdkapi/create/success_create.json: -------------------------------------------------------------------------------- 1 | { 2 | "JobDefinitionArn": "arn:aws:sagemaker:us-west-2:123456789012:model-bias-job-definition/unit-testing-mb-job-definition" 3 | } -------------------------------------------------------------------------------- /pkg/resource/model_package/testdata/sdkapi/create/create_success.json: -------------------------------------------------------------------------------- 1 | { 2 | "ModelPackageArn": "arn:aws:sagemaker:us-west-2:123456789012:model-package/xgboost-unverisoned-model-package" 3 | } -------------------------------------------------------------------------------- /pkg/resource/model_package/testdata/sdkapi/create/create_success_versioned.json: -------------------------------------------------------------------------------- 1 | { 2 | "ModelPackageArn": "arn:aws:sagemaker:us-west-2:123456789012:model-package/xgboost-model-package-group/1" 3 | } -------------------------------------------------------------------------------- /pkg/resource/model_package_group/testdata/sdkapi/create/create_success.json: -------------------------------------------------------------------------------- 1 | { 2 | "ModelPackageGroupArn": "arn:aws:sagemaker:us-west-2:123456789012:model-package-group/xgboost-model-package-group" 3 | } -------------------------------------------------------------------------------- /pkg/resource/model_package_group/testdata/sdkapi/describe/describe_deleting.json: -------------------------------------------------------------------------------- 1 | { 2 | "CreatedBy": null, 3 | "CreationTime": "2021-09-09T00:45:10.556Z", 4 | "ModelPackageGroupArn": "arn:aws:sagemaker:us-west-2:123456789012:model-package-group/xgboost-model-package-group", 5 | "ModelPackageGroupDescription": "Description for model package group", 6 | "ModelPackageGroupName": "xgboost-model-package-group", 7 | "ModelPackageGroupStatus": "Deleting" 8 | } -------------------------------------------------------------------------------- /pkg/resource/model_package_group/testdata/sdkapi/describe/describe_inprogress.json: -------------------------------------------------------------------------------- 1 | { 2 | "CreatedBy": null, 3 | "CreationTime": "2021-09-09T00:45:10.556Z", 4 | "ModelPackageGroupArn": "arn:aws:sagemaker:us-west-2:123456789012:model-package-group/xgboost-model-package-group", 5 | "ModelPackageGroupDescription": "Description for model package group", 6 | "ModelPackageGroupName": "xgboost-model-package-group", 7 | "ModelPackageGroupStatus": "InProgress" 8 | } -------------------------------------------------------------------------------- /pkg/resource/model_package_group/testdata/sdkapi/describe/describe_pending_after_create.json: -------------------------------------------------------------------------------- 1 | { 2 | "CreatedBy": null, 3 | "CreationTime": "2021-09-09T00:45:10.556Z", 4 | "ModelPackageGroupArn": "arn:aws:sagemaker:us-west-2:123456789012:model-package-group/xgboost-model-package-group", 5 | "ModelPackageGroupDescription": "Description for model package group", 6 | "ModelPackageGroupName": "xgboost-model-package-group", 7 | "ModelPackageGroupStatus": "Pending" 8 | } -------------------------------------------------------------------------------- /pkg/resource/model_package_group/testdata/sdkapi/describe/describe_success.json: -------------------------------------------------------------------------------- 1 | { 2 | "CreatedBy": null, 3 | "CreationTime": "2021-09-09T00:45:10.556Z", 4 | "ModelPackageGroupArn": "arn:aws:sagemaker:us-west-2:123456789012:model-package-group/xgboost-model-package-group", 5 | "ModelPackageGroupDescription": "Description for model package group", 6 | "ModelPackageGroupName": "xgboost-model-package-group", 7 | "ModelPackageGroupStatus": "Completed" 8 | } -------------------------------------------------------------------------------- /pkg/resource/model_package_group/testdata/v1alpha1/create/desired/invalid_before_create.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: ModelPackageGroup 3 | metadata: 4 | name: unit-testing-model-package-group 5 | spec: 6 | modelPackageGroupName: intentionally@invalid-name 7 | modelPackageGroupDescription: Description for model package group 8 | -------------------------------------------------------------------------------- /pkg/resource/model_package_group/testdata/v1alpha1/create/desired/success_before_create.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: ModelPackageGroup 3 | metadata: 4 | name: xgboost-model-package-group 5 | spec: 6 | modelPackageGroupName: xgboost-model-package-group 7 | modelPackageGroupDescription: "Description for model package group" 8 | tags: 9 | - key: algorithm 10 | value: xgboost 11 | - key: environment 12 | value: testing 13 | - key: customer 14 | value: test-user -------------------------------------------------------------------------------- /pkg/resource/model_package_group/testdata/v1alpha1/create/observed/invalid_create_attempted.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: ModelPackageGroup 3 | metadata: 4 | creationTimestamp: null 5 | name: unit-testing-model-package-group 6 | spec: 7 | modelPackageGroupDescription: Description for model package group 8 | modelPackageGroupName: intentionally@invalid-name 9 | status: 10 | ackResourceMetadata: 11 | ownerAccountID: "" 12 | region: "" 13 | conditions: 14 | - message: "InvalidParameterValue: The model package group name must not include 15 | a special character.\n\tstatus code: 0, request id: " 16 | status: "True" 17 | type: ACK.Terminal 18 | -------------------------------------------------------------------------------- /pkg/resource/model_package_group/testdata/v1alpha1/create/observed/success_after_create.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: ModelPackageGroup 3 | metadata: 4 | creationTimestamp: null 5 | name: xgboost-model-package-group 6 | spec: 7 | modelPackageGroupDescription: Description for model package group 8 | modelPackageGroupName: xgboost-model-package-group 9 | tags: 10 | - key: algorithm 11 | value: xgboost 12 | - key: environment 13 | value: testing 14 | - key: customer 15 | value: test-user 16 | status: 17 | ackResourceMetadata: 18 | arn: arn:aws:sagemaker:us-west-2:123456789012:model-package-group/xgboost-model-package-group 19 | ownerAccountID: "" 20 | region: "" 21 | conditions: [] 22 | -------------------------------------------------------------------------------- /pkg/resource/model_package_group/testdata/v1alpha1/delete/desired/delete_deleting.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: ModelPackageGroup 3 | metadata: 4 | creationTimestamp: null 5 | name: xgboost-model-package-group 6 | spec: 7 | modelPackageGroupDescription: Description for model package group 8 | modelPackageGroupName: xgboost-model-package-group 9 | tags: 10 | - key: algorithm 11 | value: xgboost 12 | - key: environment 13 | value: testing 14 | - key: customer 15 | value: test-user 16 | status: 17 | ackResourceMetadata: 18 | arn: arn:aws:sagemaker:us-west-2:123456789012:model-package-group/xgboost-model-package-group 19 | ownerAccountID: "" 20 | region: "" 21 | conditions: 22 | - lastTransitionTime: "0001-01-01T00:00:00Z" 23 | message: ModelPackageGroup is in Deleting status. 24 | status: "False" 25 | type: ACK.ResourceSynced 26 | modelPackageGroupStatus: Deleting 27 | -------------------------------------------------------------------------------- /pkg/resource/model_package_group/testdata/v1alpha1/delete/desired/delete_inprogress.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: ModelPackageGroup 3 | metadata: 4 | creationTimestamp: null 5 | name: xgboost-model-package-group 6 | spec: 7 | modelPackageGroupDescription: Description for model package group 8 | modelPackageGroupName: xgboost-model-package-group 9 | tags: 10 | - key: algorithm 11 | value: xgboost 12 | - key: environment 13 | value: testing 14 | - key: customer 15 | value: test-user 16 | status: 17 | ackResourceMetadata: 18 | arn: arn:aws:sagemaker:us-west-2:123456789012:model-package-group/xgboost-model-package-group 19 | ownerAccountID: "" 20 | region: "" 21 | conditions: 22 | - lastTransitionTime: "0001-01-01T00:00:00Z" 23 | message: ModelPackageGroup is in InProgress status. 24 | status: "False" 25 | type: ACK.ResourceSynced 26 | modelPackageGroupStatus: InProgress 27 | -------------------------------------------------------------------------------- /pkg/resource/model_package_group/testdata/v1alpha1/delete/desired/delete_pending.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: ModelPackageGroup 3 | metadata: 4 | creationTimestamp: null 5 | name: xgboost-model-package-group 6 | spec: 7 | modelPackageGroupDescription: Description for model package group 8 | modelPackageGroupName: xgboost-model-package-group 9 | tags: 10 | - key: algorithm 11 | value: xgboost 12 | - key: environment 13 | value: testing 14 | - key: customer 15 | value: test-user 16 | status: 17 | ackResourceMetadata: 18 | arn: arn:aws:sagemaker:us-west-2:123456789012:model-package-group/xgboost-model-package-group 19 | ownerAccountID: "" 20 | region: "" 21 | conditions: 22 | - lastTransitionTime: "0001-01-01T00:00:00Z" 23 | message: ModelPackageGroup is in Pending status. 24 | status: "False" 25 | type: ACK.ResourceSynced 26 | modelPackageGroupStatus: Pending 27 | -------------------------------------------------------------------------------- /pkg/resource/model_package_group/testdata/v1alpha1/delete/observed/error_on_delete.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: ModelPackageGroup 3 | metadata: 4 | creationTimestamp: null 5 | name: xgboost-model-package-group 6 | spec: 7 | modelPackageGroupDescription: Description for model package group 8 | modelPackageGroupName: xgboost-model-package-group 9 | tags: 10 | - key: algorithm 11 | value: xgboost 12 | - key: environment 13 | value: testing 14 | - key: customer 15 | value: test-user 16 | status: 17 | ackResourceMetadata: 18 | arn: arn:aws:sagemaker:us-west-2:123456789012:model-package-group/xgboost-model-package-group 19 | ownerAccountID: "" 20 | region: "" 21 | conditions: 22 | - message: "ServiceUnavailable: Server is down\n\tstatus code: 0, request id: " 23 | status: "True" 24 | type: ACK.Recoverable 25 | -------------------------------------------------------------------------------- /pkg/resource/model_package_group/testdata/v1alpha1/readone/desired/after_create.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: ModelPackageGroup 3 | metadata: 4 | creationTimestamp: null 5 | name: xgboost-model-package-group 6 | spec: 7 | modelPackageGroupDescription: Description for model package group 8 | modelPackageGroupName: xgboost-model-package-group 9 | tags: 10 | - key: algorithm 11 | value: xgboost 12 | - key: environment 13 | value: testing 14 | - key: customer 15 | value: test-user 16 | status: 17 | ackResourceMetadata: 18 | arn: arn:aws:sagemaker:us-west-2:123456789012:model-package-group/xgboost-model-package-group 19 | ownerAccountID: "" 20 | region: "" 21 | conditions: [] 22 | -------------------------------------------------------------------------------- /pkg/resource/model_package_group/testdata/v1alpha1/readone/desired/deleting.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: ModelPackageGroup 3 | metadata: 4 | creationTimestamp: null 5 | name: xgboost-model-package-group 6 | spec: 7 | modelPackageGroupDescription: Description for model package group 8 | modelPackageGroupName: xgboost-model-package-group 9 | tags: 10 | - key: algorithm 11 | value: xgboost 12 | - key: environment 13 | value: testing 14 | - key: customer 15 | value: test-user 16 | status: 17 | ackResourceMetadata: 18 | arn: arn:aws:sagemaker:us-west-2:123456789012:model-package-group/xgboost-model-package-group 19 | ownerAccountID: "" 20 | region: "" 21 | conditions: [] 22 | modelPackageGroupStatus: Deleting 23 | -------------------------------------------------------------------------------- /pkg/resource/model_package_group/testdata/v1alpha1/readone/desired/error_conditions_true.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: ModelPackageGroup 3 | metadata: 4 | name: xgboost-model-package-group 5 | spec: 6 | modelPackageGroupName: xgboost-model-package-group 7 | modelPackageGroupDescription: "Description for model package group" 8 | tags: 9 | - key: algorithm 10 | value: xgboost 11 | - key: environment 12 | value: testing 13 | - key: customer 14 | value: test-user 15 | status: 16 | ackResourceMetadata: 17 | ownerAccountID: "" 18 | region: "" 19 | conditions: 20 | - message: "InvalidParameterValue: The Model package group name must not include a special 21 | character.\n\tstatus code: 0, request id: " 22 | status: "True" 23 | type: ACK.Terminal 24 | - message: "some dummy message" 25 | status: "True" 26 | type: ACK.Recoverable -------------------------------------------------------------------------------- /pkg/resource/model_package_group/testdata/v1alpha1/readone/desired/inprogress_after_create.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: ModelPackageGroup 3 | metadata: 4 | creationTimestamp: null 5 | name: xgboost-model-package-group 6 | spec: 7 | modelPackageGroupDescription: Description for model package group 8 | modelPackageGroupName: xgboost-model-package-group 9 | tags: 10 | - key: algorithm 11 | value: xgboost 12 | - key: environment 13 | value: testing 14 | - key: customer 15 | value: test-user 16 | status: 17 | ackResourceMetadata: 18 | arn: arn:aws:sagemaker:us-west-2:123456789012:model-package-group/xgboost-model-package-group 19 | ownerAccountID: "" 20 | region: "" 21 | conditions: [] 22 | modelPackageGroupStatus: InProgress 23 | -------------------------------------------------------------------------------- /pkg/resource/model_package_group/testdata/v1alpha1/readone/desired/missing_required_field.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: ModelPackageGroup 3 | metadata: 4 | name: xgboost-model-package-group 5 | spec: 6 | # missing model package group name 7 | modelPackageGroupDescription: "Description for model package group" 8 | tags: 9 | - key: algorithm 10 | value: xgboost 11 | - key: environment 12 | value: testing 13 | - key: customer 14 | value: test-user -------------------------------------------------------------------------------- /pkg/resource/model_package_group/testdata/v1alpha1/readone/desired/pending_after_create.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: ModelPackageGroup 3 | metadata: 4 | creationTimestamp: null 5 | name: xgboost-model-package-group 6 | spec: 7 | modelPackageGroupDescription: Description for model package group 8 | modelPackageGroupName: xgboost-model-package-group 9 | tags: 10 | - key: algorithm 11 | value: xgboost 12 | - key: environment 13 | value: testing 14 | - key: customer 15 | value: test-user 16 | status: 17 | ackResourceMetadata: 18 | arn: arn:aws:sagemaker:us-west-2:123456789012:model-package-group/xgboost-model-package-group 19 | ownerAccountID: "" 20 | region: "" 21 | conditions: [] 22 | modelPackageGroupStatus: Pending 23 | -------------------------------------------------------------------------------- /pkg/resource/model_package_group/testdata/v1alpha1/readone/observed/created.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: ModelPackageGroup 3 | metadata: 4 | creationTimestamp: null 5 | name: xgboost-model-package-group 6 | spec: 7 | modelPackageGroupDescription: Description for model package group 8 | modelPackageGroupName: xgboost-model-package-group 9 | tags: 10 | - key: algorithm 11 | value: xgboost 12 | - key: environment 13 | value: testing 14 | - key: customer 15 | value: test-user 16 | status: 17 | ackResourceMetadata: 18 | arn: arn:aws:sagemaker:us-west-2:123456789012:model-package-group/xgboost-model-package-group 19 | ownerAccountID: "" 20 | region: "" 21 | conditions: 22 | - lastTransitionTime: "0001-01-01T00:00:00Z" 23 | message: ModelPackageGroup is in Completed status. 24 | status: "True" 25 | type: ACK.ResourceSynced 26 | modelPackageGroupStatus: Completed 27 | -------------------------------------------------------------------------------- /pkg/resource/model_package_group/testdata/v1alpha1/readone/observed/deleting.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: ModelPackageGroup 3 | metadata: 4 | creationTimestamp: null 5 | name: xgboost-model-package-group 6 | spec: 7 | modelPackageGroupDescription: Description for model package group 8 | modelPackageGroupName: xgboost-model-package-group 9 | tags: 10 | - key: algorithm 11 | value: xgboost 12 | - key: environment 13 | value: testing 14 | - key: customer 15 | value: test-user 16 | status: 17 | ackResourceMetadata: 18 | arn: arn:aws:sagemaker:us-west-2:123456789012:model-package-group/xgboost-model-package-group 19 | ownerAccountID: "" 20 | region: "" 21 | conditions: 22 | - lastTransitionTime: "0001-01-01T00:00:00Z" 23 | message: ModelPackageGroup is in Deleting status. 24 | status: "False" 25 | type: ACK.ResourceSynced 26 | modelPackageGroupStatus: Deleting 27 | -------------------------------------------------------------------------------- /pkg/resource/model_package_group/testdata/v1alpha1/readone/observed/error_on_describe.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: ModelPackageGroup 3 | metadata: 4 | creationTimestamp: null 5 | name: xgboost-model-package-group 6 | spec: 7 | modelPackageGroupDescription: Description for model package group 8 | modelPackageGroupName: xgboost-model-package-group 9 | tags: 10 | - key: algorithm 11 | value: xgboost 12 | - key: environment 13 | value: testing 14 | - key: customer 15 | value: test-user 16 | status: 17 | ackResourceMetadata: 18 | arn: arn:aws:sagemaker:us-west-2:123456789012:model-package-group/xgboost-model-package-group 19 | ownerAccountID: "" 20 | region: "" 21 | conditions: 22 | - message: "ServiceUnavailable: Server is down\n\tstatus code: 0, request id: " 23 | status: "True" 24 | type: ACK.Recoverable 25 | -------------------------------------------------------------------------------- /pkg/resource/model_package_group/testdata/v1alpha1/readone/observed/inprogess_after_create.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: ModelPackageGroup 3 | metadata: 4 | creationTimestamp: null 5 | name: xgboost-model-package-group 6 | spec: 7 | modelPackageGroupDescription: Description for model package group 8 | modelPackageGroupName: xgboost-model-package-group 9 | tags: 10 | - key: algorithm 11 | value: xgboost 12 | - key: environment 13 | value: testing 14 | - key: customer 15 | value: test-user 16 | status: 17 | ackResourceMetadata: 18 | arn: arn:aws:sagemaker:us-west-2:123456789012:model-package-group/xgboost-model-package-group 19 | ownerAccountID: "" 20 | region: "" 21 | conditions: 22 | - lastTransitionTime: "0001-01-01T00:00:00Z" 23 | message: ModelPackageGroup is in InProgress status. 24 | status: "False" 25 | type: ACK.ResourceSynced 26 | modelPackageGroupStatus: InProgress 27 | -------------------------------------------------------------------------------- /pkg/resource/model_package_group/testdata/v1alpha1/readone/observed/pending_after_create.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: ModelPackageGroup 3 | metadata: 4 | creationTimestamp: null 5 | name: xgboost-model-package-group 6 | spec: 7 | modelPackageGroupDescription: Description for model package group 8 | modelPackageGroupName: xgboost-model-package-group 9 | tags: 10 | - key: algorithm 11 | value: xgboost 12 | - key: environment 13 | value: testing 14 | - key: customer 15 | value: test-user 16 | status: 17 | ackResourceMetadata: 18 | arn: arn:aws:sagemaker:us-west-2:123456789012:model-package-group/xgboost-model-package-group 19 | ownerAccountID: "" 20 | region: "" 21 | conditions: 22 | - lastTransitionTime: "0001-01-01T00:00:00Z" 23 | message: ModelPackageGroup is in Pending status. 24 | status: "False" 25 | type: ACK.ResourceSynced 26 | modelPackageGroupStatus: Pending 27 | -------------------------------------------------------------------------------- /pkg/resource/model_package_group/testdata/v1alpha1/update/desired/updated_base.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: ModelPackageGroup 3 | metadata: 4 | creationTimestamp: null 5 | name: xgboost-model-package-group 6 | spec: 7 | modelPackageGroupDescription: Description for updated model package group 8 | modelPackageGroupName: xgboost-model-package-group 9 | tags: 10 | - key: algorithm 11 | value: xgboost 12 | - key: environment 13 | value: testing 14 | - key: customer 15 | value: test-user 16 | status: 17 | ackResourceMetadata: 18 | arn: arn:aws:sagemaker:us-west-2:123456789012:model-package-group/xgboost-model-package-group 19 | ownerAccountID: "" 20 | region: "" 21 | conditions: [] 22 | -------------------------------------------------------------------------------- /pkg/resource/model_package_group/testdata/v1alpha1/update/observed/error_on_update.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: ModelPackageGroup 3 | metadata: 4 | creationTimestamp: null 5 | name: xgboost-model-package-group 6 | spec: 7 | modelPackageGroupDescription: Description for model package group 8 | modelPackageGroupName: xgboost-model-package-group 9 | tags: 10 | - key: algorithm 11 | value: xgboost 12 | - key: environment 13 | value: testing 14 | - key: customer 15 | value: test-user 16 | status: 17 | ackResourceMetadata: 18 | arn: arn:aws:sagemaker:us-west-2:123456789012:model-package-group/xgboost-model-package-group 19 | ownerAccountID: "" 20 | region: "" 21 | conditions: 22 | - message: not implemented 23 | status: "True" 24 | type: ACK.Terminal 25 | -------------------------------------------------------------------------------- /pkg/resource/model_quality_job_definition/testdata/sdkapi/create/success_create.json: -------------------------------------------------------------------------------- 1 | { 2 | "JobDefinitionArn": "arn:aws:sagemaker:us-west-2:123456789012:model-quality-job-definition/unit-mq-job-definition" 3 | } -------------------------------------------------------------------------------- /pkg/resource/monitoring_schedule/testdata/sdkapi/create/success_create.json: -------------------------------------------------------------------------------- 1 | { 2 | "MonitoringScheduleArn": "arn:aws:sagemaker:us-west-2:123456789012:monitoring-schedule/unit-testing-monitoring-schedule" 3 | } -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/custom_set_delta.go: -------------------------------------------------------------------------------- 1 | package notebook_instance 2 | 3 | import ( 4 | ackcompare "github.com/aws-controllers-k8s/runtime/pkg/compare" 5 | ) 6 | 7 | // customSetDefaults sets the default fields for DirectInternetAccess and RootAccess. 8 | func customSetDefaults( 9 | a *resource, 10 | b *resource, 11 | ) { 12 | // Direct Internet Access describes whether Amazon SageMaker provides internet access to the notebook instance. 13 | // The default value is Enabled. 14 | if ackcompare.IsNil(a.ko.Spec.DirectInternetAccess) && ackcompare.IsNotNil(b.ko.Spec.DirectInternetAccess) { 15 | a.ko.Spec.DirectInternetAccess = b.ko.Spec.DirectInternetAccess 16 | } 17 | // Root Access describes whether root access is enabled or disabled for users of the notebook instance. 18 | // The default value is Enabled 19 | if ackcompare.IsNil(a.ko.Spec.RootAccess) && ackcompare.IsNotNil(b.ko.Spec.RootAccess) { 20 | a.ko.Spec.RootAccess = b.ko.Spec.RootAccess 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/sdkapi/create/create_success.json: -------------------------------------------------------------------------------- 1 | { 2 | "NotebookInstanceArn": "arn:aws:sagemaker:us-east-2:1234:notebook-instance/test" 3 | } 4 | -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/sdkapi/readone/delete_resp.json: -------------------------------------------------------------------------------- 1 | { 2 | "AcceleratorTypes": null, 3 | "AdditionalCodeRepositories": null, 4 | "CreationTime": "0001-01-01T00:00:00Z", 5 | "DefaultCodeRepository": null, 6 | "DirectInternetAccess": "Enabled", 7 | "FailureReason": null, 8 | "InstanceType": "ml.t2.medium", 9 | "KmsKeyId": null, 10 | "LastModifiedTime": "2021-08-15T22:06:18.767Z", 11 | "NetworkInterfaceId": null, 12 | "NotebookInstanceArn": "arn:aws:sagemaker:us-east-2:1234:notebook-instance/test", 13 | "NotebookInstanceLifecycleConfigName": null, 14 | "NotebookInstanceName": "test", 15 | "NotebookInstanceStatus": "Deleting", 16 | "RoleArn": "arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole", 17 | "RootAccess": "Enabled", 18 | "SecurityGroups": null, 19 | "SubnetId": null, 20 | "Url": "test.notebook.us-east-2.sagemaker.aws", 21 | "VolumeSizeInGB": 8, 22 | "PlatformIdentifier": "notebook-al1-v1" 23 | } -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/sdkapi/readone/readone_deleting.json: -------------------------------------------------------------------------------- 1 | { 2 | "AcceleratorTypes": null, 3 | "AdditionalCodeRepositories": null, 4 | "CreationTime": "0001-01-01T00:00:00Z", 5 | "DefaultCodeRepository": null, 6 | "DirectInternetAccess": "Enabled", 7 | "FailureReason": null, 8 | "InstanceType": "ml.t2.medium", 9 | "KmsKeyId": null, 10 | "LastModifiedTime": "2021-08-15T22:06:18.767Z", 11 | "NetworkInterfaceId": null, 12 | "NotebookInstanceArn": "arn:aws:sagemaker:us-east-2:1234:notebook-instance/test", 13 | "NotebookInstanceLifecycleConfigName": null, 14 | "NotebookInstanceName": "test", 15 | "NotebookInstanceStatus": "Deleting", 16 | "RoleArn": "arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole", 17 | "RootAccess": "Enabled", 18 | "SecurityGroups": null, 19 | "SubnetId": null, 20 | "Url": "test.notebook.us-east-2.sagemaker.aws", 21 | "VolumeSizeInGB": 8, 22 | "PlatformIdentifier": "notebook-al1-v1" 23 | } -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/sdkapi/readone/readone_failed_state.json: -------------------------------------------------------------------------------- 1 | { 2 | "AcceleratorTypes": null, 3 | "AdditionalCodeRepositories": null, 4 | "CreationTime": "0001-01-01T00:00:00Z", 5 | "DefaultCodeRepository": null, 6 | "DirectInternetAccess": "Enabled", 7 | "FailureReason": "VolumeError", 8 | "InstanceType": "ml.t2.medium", 9 | "KmsKeyId": null, 10 | "LastModifiedTime": "2021-08-15T22:06:18.767Z", 11 | "NetworkInterfaceId": null, 12 | "NotebookInstanceArn": "arn:aws:sagemaker:us-east-2:1234:notebook-instance/test", 13 | "NotebookInstanceLifecycleConfigName": null, 14 | "NotebookInstanceName": "test", 15 | "NotebookInstanceStatus": "Failed", 16 | "RoleArn": "arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole", 17 | "RootAccess": "Enabled", 18 | "SecurityGroups": null, 19 | "SubnetId": null, 20 | "Url": "test.notebook.us-east-2.sagemaker.aws", 21 | "VolumeSizeInGB": 8, 22 | "PlatformIdentifier": "notebook-al1-v1" 23 | } -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/sdkapi/readone/readone_inservice.json: -------------------------------------------------------------------------------- 1 | { 2 | "AcceleratorTypes": ["ml.eia1.medium"], 3 | "AdditionalCodeRepositories": ["code-repo"], 4 | "CreationTime": "0001-01-01T00:00:00Z", 5 | "DefaultCodeRepository": "my-code", 6 | "DirectInternetAccess": "Enabled", 7 | "FailureReason": null, 8 | "InstanceType": "ml.t2.medium", 9 | "KmsKeyId": "op", 10 | "LastModifiedTime": "2021-08-15T22:06:18.767Z", 11 | "NetworkInterfaceId": null, 12 | "NotebookInstanceArn": "arn:aws:sagemaker:us-east-2:1234:notebook-instance/test", 13 | "NotebookInstanceLifecycleConfigName": "my-lfc", 14 | "NotebookInstanceName": "test", 15 | "NotebookInstanceStatus": "InService", 16 | "RoleArn": "arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole", 17 | "RootAccess": "Enabled", 18 | "SecurityGroups": ["woof"], 19 | "SubnetId": "abc", 20 | "Url": "test.notebook.us-east-2.sagemaker.aws", 21 | "VolumeSizeInGB": 8, 22 | "PlatformIdentifier": "notebook-al1-v1" 23 | } -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/sdkapi/readone/readone_pending_after_create.json: -------------------------------------------------------------------------------- 1 | { 2 | "AcceleratorTypes": null, 3 | "AdditionalCodeRepositories": null, 4 | "CreationTime": "0001-01-01T00:00:00Z", 5 | "DefaultCodeRepository": null, 6 | "DirectInternetAccess": "Enabled", 7 | "FailureReason": null, 8 | "InstanceType": "ml.t2.medium", 9 | "KmsKeyId": null, 10 | "LastModifiedTime": "2021-08-15T22:06:18.767Z", 11 | "NetworkInterfaceId": null, 12 | "NotebookInstanceArn": "arn:aws:sagemaker:us-east-2:1234:notebook-instance/test", 13 | "NotebookInstanceLifecycleConfigName": null, 14 | "NotebookInstanceName": "test", 15 | "NotebookInstanceStatus": "Pending", 16 | "RoleArn": "arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole", 17 | "RootAccess": "Enabled", 18 | "SecurityGroups": null, 19 | "SubnetId": null, 20 | "Url": "test.notebook.us-east-2.sagemaker.aws", 21 | "VolumeSizeInGB": 8, 22 | "PlatformIdentifier": "notebook-al1-v1" 23 | } -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/sdkapi/readone/readone_stopped.json: -------------------------------------------------------------------------------- 1 | { 2 | "AcceleratorTypes": null, 3 | "AdditionalCodeRepositories": null, 4 | "CreationTime": "0001-01-01T00:00:00Z", 5 | "DefaultCodeRepository": null, 6 | "DirectInternetAccess": "Enabled", 7 | "FailureReason": null, 8 | "InstanceType": "ml.t2.medium", 9 | "KmsKeyId": null, 10 | "LastModifiedTime": "2021-08-15T22:06:18.767Z", 11 | "NetworkInterfaceId": null, 12 | "NotebookInstanceArn": "arn:aws:sagemaker:us-east-2:1234:notebook-instance/test", 13 | "NotebookInstanceLifecycleConfigName": null, 14 | "NotebookInstanceName": "test", 15 | "NotebookInstanceStatus": "Stopped", 16 | "RoleArn": "arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole", 17 | "RootAccess": "Enabled", 18 | "SecurityGroups": null, 19 | "SubnetId": null, 20 | "Url": "test.notebook.us-east-2.sagemaker.aws", 21 | "VolumeSizeInGB": 8, 22 | "PlatformIdentifier": "notebook-al1-v1" 23 | } -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/sdkapi/readone/readone_stopped_after_update_ack.json: -------------------------------------------------------------------------------- 1 | { 2 | "AcceleratorTypes": null, 3 | "AdditionalCodeRepositories": null, 4 | "CreationTime": "0001-01-01T00:00:00Z", 5 | "DefaultCodeRepository": null, 6 | "DirectInternetAccess": "Enabled", 7 | "FailureReason": null, 8 | "InstanceType": "ml.t2.medium", 9 | "KmsKeyId": null, 10 | "LastModifiedTime": "2021-08-15T22:06:18.767Z", 11 | "NetworkInterfaceId": null, 12 | "NotebookInstanceArn": "arn:aws:sagemaker:us-east-2:1234:notebook-instance/test", 13 | "NotebookInstanceLifecycleConfigName": null, 14 | "NotebookInstanceName": "test", 15 | "NotebookInstanceStatus": "Stopped", 16 | "RoleArn": "arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole", 17 | "RootAccess": "Enabled", 18 | "SecurityGroups": null, 19 | "SubnetId": null, 20 | "Url": "test.notebook.us-east-2.sagemaker.aws", 21 | "VolumeSizeInGB": 9, 22 | "PlatformIdentifier": "notebook-al1-v1" 23 | } -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/sdkapi/readone/readone_stopped_after_update_human.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-controllers-k8s/sagemaker-controller/acd7540660fb54d1bedd1b3c6d39cdb843db8aa6/pkg/resource/notebook_instance/testdata/sdkapi/readone/readone_stopped_after_update_human.json -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/sdkapi/readone/readone_stopped_before_update_ack.json: -------------------------------------------------------------------------------- 1 | { 2 | "AcceleratorTypes": null, 3 | "AdditionalCodeRepositories": null, 4 | "CreationTime": "0001-01-01T00:00:00Z", 5 | "DefaultCodeRepository": null, 6 | "DirectInternetAccess": "Enabled", 7 | "FailureReason": null, 8 | "InstanceType": "ml.t2.medium", 9 | "KmsKeyId": null, 10 | "LastModifiedTime": "2021-08-15T22:06:18.767Z", 11 | "NetworkInterfaceId": null, 12 | "NotebookInstanceArn": "arn:aws:sagemaker:us-east-2:1234:notebook-instance/test", 13 | "NotebookInstanceLifecycleConfigName": null, 14 | "NotebookInstanceName": "test", 15 | "NotebookInstanceStatus": "Stopped", 16 | "RoleArn": "arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole", 17 | "RootAccess": "Enabled", 18 | "SecurityGroups": null, 19 | "SubnetId": null, 20 | "Url": "test.notebook.us-east-2.sagemaker.aws", 21 | "VolumeSizeInGB": 8, 22 | "PlatformIdentifier": "notebook-al1-v1" 23 | } -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/sdkapi/readone/readone_stopped_start_failed.json: -------------------------------------------------------------------------------- 1 | { 2 | "AcceleratorTypes": null, 3 | "AdditionalCodeRepositories": null, 4 | "CreationTime": "0001-01-01T00:00:00Z", 5 | "DefaultCodeRepository": null, 6 | "DirectInternetAccess": "Enabled", 7 | "FailureReason": null, 8 | "InstanceType": "ml.t2.medium", 9 | "KmsKeyId": null, 10 | "LastModifiedTime": "2021-08-15T22:06:18.767Z", 11 | "NetworkInterfaceId": null, 12 | "NotebookInstanceArn": "arn:aws:sagemaker:us-east-2:1234:notebook-instance/test", 13 | "NotebookInstanceLifecycleConfigName": null, 14 | "NotebookInstanceName": "test", 15 | "NotebookInstanceStatus": "Stopped", 16 | "RoleArn": "arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole", 17 | "RootAccess": "Enabled", 18 | "SecurityGroups": null, 19 | "SubnetId": null, 20 | "Url": "test.notebook.us-east-2.sagemaker.aws", 21 | "VolumeSizeInGB": 8, 22 | "PlatformIdentifier": "notebook-al1-v1" 23 | } -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/sdkapi/readone/readone_stopping_deleting.json: -------------------------------------------------------------------------------- 1 | { 2 | "AcceleratorTypes": null, 3 | "AdditionalCodeRepositories": null, 4 | "CreationTime": "0001-01-01T00:00:00Z", 5 | "DefaultCodeRepository": null, 6 | "DirectInternetAccess": "Enabled", 7 | "FailureReason": null, 8 | "InstanceType": "ml.t2.medium", 9 | "KmsKeyId": null, 10 | "LastModifiedTime": "2021-08-15T22:06:18.767Z", 11 | "NetworkInterfaceId": null, 12 | "NotebookInstanceArn": "arn:aws:sagemaker:us-east-2:1234:notebook-instance/test", 13 | "NotebookInstanceLifecycleConfigName": null, 14 | "NotebookInstanceName": "test", 15 | "NotebookInstanceStatus": "Stopping", 16 | "RoleArn": "arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole", 17 | "RootAccess": "Enabled", 18 | "SecurityGroups": null, 19 | "SubnetId": null, 20 | "Url": "test.notebook.us-east-2.sagemaker.aws", 21 | "VolumeSizeInGB": 8, 22 | "PlatformIdentifier": "notebook-al1-v1" 23 | } -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/sdkapi/readone/readone_stopping_update.json: -------------------------------------------------------------------------------- 1 | { 2 | "AcceleratorTypes": null, 3 | "AdditionalCodeRepositories": null, 4 | "CreationTime": "0001-01-01T00:00:00Z", 5 | "DefaultCodeRepository": null, 6 | "DirectInternetAccess": "Enabled", 7 | "FailureReason": null, 8 | "InstanceType": "ml.t2.medium", 9 | "KmsKeyId": null, 10 | "LastModifiedTime": "2021-08-15T22:06:18.767Z", 11 | "NetworkInterfaceId": null, 12 | "NotebookInstanceArn": "arn:aws:sagemaker:us-east-2:1234:notebook-instance/test", 13 | "NotebookInstanceLifecycleConfigName": null, 14 | "NotebookInstanceName": "test", 15 | "NotebookInstanceStatus": "Stopping", 16 | "RoleArn": "arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole", 17 | "RootAccess": "Enabled", 18 | "SecurityGroups": null, 19 | "SubnetId": null, 20 | "Url": "test.notebook.us-east-2.sagemaker.aws", 21 | "VolumeSizeInGB": 8, 22 | "PlatformIdentifier": "notebook-al1-v1" 23 | } -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/sdkapi/readone/readone_stopping_user.json: -------------------------------------------------------------------------------- 1 | { 2 | "AcceleratorTypes": null, 3 | "AdditionalCodeRepositories": null, 4 | "CreationTime": "0001-01-01T00:00:00Z", 5 | "DefaultCodeRepository": null, 6 | "DirectInternetAccess": "Enabled", 7 | "FailureReason": null, 8 | "InstanceType": "ml.t2.medium", 9 | "KmsKeyId": null, 10 | "LastModifiedTime": "2021-08-15T22:06:18.767Z", 11 | "NetworkInterfaceId": null, 12 | "NotebookInstanceArn": "arn:aws:sagemaker:us-east-2:1234:notebook-instance/test", 13 | "NotebookInstanceLifecycleConfigName": null, 14 | "NotebookInstanceName": "test", 15 | "NotebookInstanceStatus": "Stopping", 16 | "RoleArn": "arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole", 17 | "RootAccess": "Enabled", 18 | "SecurityGroups": null, 19 | "SubnetId": null, 20 | "Url": "test.notebook.us-east-2.sagemaker.aws", 21 | "VolumeSizeInGB": 8, 22 | "PlatformIdentifier": "notebook-al1-v1" 23 | } -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/sdkapi/readone/readone_updating.json: -------------------------------------------------------------------------------- 1 | { 2 | "AcceleratorTypes": null, 3 | "AdditionalCodeRepositories": null, 4 | "CreationTime": "0001-01-01T00:00:00Z", 5 | "DefaultCodeRepository": null, 6 | "DirectInternetAccess": "Enabled", 7 | "FailureReason": null, 8 | "InstanceType": "ml.t2.medium", 9 | "KmsKeyId": null, 10 | "LastModifiedTime": "2021-08-15T22:06:18.767Z", 11 | "NetworkInterfaceId": null, 12 | "NotebookInstanceArn": "arn:aws:sagemaker:us-east-2:1234:notebook-instance/test", 13 | "NotebookInstanceLifecycleConfigName": null, 14 | "NotebookInstanceName": "test", 15 | "NotebookInstanceStatus": "Updating", 16 | "RoleArn": "arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole", 17 | "RootAccess": "Enabled", 18 | "SecurityGroups": null, 19 | "SubnetId": null, 20 | "Url": "test.notebook.us-east-2.sagemaker.aws", 21 | "VolumeSizeInGB": 8, 22 | "PlatformIdentifier": "notebook-al1-v1" 23 | } -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/sdkapi/readone/readone_updating_by_user.json: -------------------------------------------------------------------------------- 1 | { 2 | "AcceleratorTypes": null, 3 | "AdditionalCodeRepositories": null, 4 | "CreationTime": "0001-01-01T00:00:00Z", 5 | "DefaultCodeRepository": null, 6 | "DirectInternetAccess": "Enabled", 7 | "FailureReason": null, 8 | "InstanceType": "ml.t2.medium", 9 | "KmsKeyId": null, 10 | "LastModifiedTime": "2021-08-15T22:06:18.767Z", 11 | "NetworkInterfaceId": null, 12 | "NotebookInstanceArn": "arn:aws:sagemaker:us-east-2:1234:notebook-instance/test", 13 | "NotebookInstanceLifecycleConfigName": null, 14 | "NotebookInstanceName": "test", 15 | "NotebookInstanceStatus": "Updating", 16 | "RoleArn": "arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole", 17 | "RootAccess": "Enabled", 18 | "SecurityGroups": null, 19 | "SubnetId": null, 20 | "Url": "test.notebook.us-east-2.sagemaker.aws", 21 | "VolumeSizeInGB": 8, 22 | "PlatformIdentifier": "notebook-al1-v1" 23 | } -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/v1alpha1/create/desired/nb_invalid_before_create.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstance 3 | metadata: 4 | name: test 5 | spec: 6 | notebookInstanceName: 7 | instanceType: ml.t2.medium 8 | notebookInstanceName: intentionally@invalid-name 9 | roleARN: arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole 10 | volumeSizeInGB: 8 11 | lifecycleConfigName: my-lfc 12 | acceleratorTypes: 13 | - ml.eia1.medium 14 | defaultCodeRepository: my-code 15 | kmsKeyID: op 16 | subnetID: abc 17 | rootAccess: Enabled 18 | securityGroupIDs: 19 | - woof 20 | directInternetAccess: Enabled 21 | additionalCodeRepositories: 22 | - code-repo -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/v1alpha1/create/desired/nb_success_before_create.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstance 3 | metadata: 4 | name: test 5 | spec: 6 | instanceType: ml.t2.medium 7 | notebookInstanceName: test 8 | roleARN: arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole 9 | volumeSizeInGB: 8 -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/v1alpha1/create/observed/nb_success_after_create.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstance 3 | metadata: 4 | creationTimestamp: null 5 | name: test 6 | spec: 7 | instanceType: ml.t2.medium 8 | notebookInstanceName: test 9 | roleARN: arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole 10 | volumeSizeInGB: 8 11 | status: 12 | ackResourceMetadata: 13 | arn: arn:aws:sagemaker:us-east-2:1234:notebook-instance/test 14 | ownerAccountID: "" 15 | region: "" 16 | conditions: 17 | - status: "True" 18 | type: ACK.ResourceSynced 19 | -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/v1alpha1/delete/desired/nb_delete_IS.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstance 3 | metadata: 4 | name: test 5 | spec: 6 | instanceType: ml.t2.medium 7 | notebookInstanceName: test 8 | roleARN: arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole 9 | volumeSizeInGB: 8 10 | status: 11 | ackResourceMetadata: 12 | arn: arn:aws:sagemaker:us-east-2:1234:notebook-instance/test 13 | ownerAccountID: "" 14 | region: "" 15 | conditions: 16 | - lastTransitionTime: "0001-01-01T00:00:00Z" 17 | message: NotebookInstance is in InService status. 18 | status: "True" 19 | type: ACK.ResourceSynced 20 | notebookInstanceStatus: InService 21 | -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/v1alpha1/delete/desired/nb_delete_deleting.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstance 3 | metadata: 4 | name: test 5 | spec: 6 | instanceType: ml.t2.medium 7 | notebookInstanceName: test 8 | roleARN: arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole 9 | volumeSizeInGB: 8 10 | status: 11 | ackResourceMetadata: 12 | arn: arn:aws:sagemaker:us-east-2:1234:notebook-instance/test 13 | ownerAccountID: "" 14 | region: "" 15 | conditions: 16 | - lastTransitionTime: "0001-01-01T00:00:00Z" 17 | message: NotebookInstance is in Deleting status. 18 | status: "False" 19 | type: ACK.ResourceSynced 20 | notebookInstanceStatus: Deleting 21 | -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/v1alpha1/delete/desired/nb_delete_pending.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstance 3 | metadata: 4 | name: test 5 | spec: 6 | instanceType: ml.t2.medium 7 | notebookInstanceName: test 8 | roleARN: arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole 9 | volumeSizeInGB: 8 10 | status: 11 | ackResourceMetadata: 12 | arn: arn:aws:sagemaker:us-east-2:1234:notebook-instance/test 13 | ownerAccountID: "" 14 | region: "" 15 | conditions: 16 | - lastTransitionTime: "0001-01-01T00:00:00Z" 17 | message: NotebookInstance is in Pending status. 18 | status: "False" 19 | type: ACK.ResourceSynced 20 | notebookInstanceStatus: Pending 21 | -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/v1alpha1/delete/desired/nb_delete_stopped.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstance 3 | metadata: 4 | name: test 5 | spec: 6 | instanceType: ml.t2.medium 7 | notebookInstanceName: test 8 | roleARN: arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole 9 | volumeSizeInGB: 8 10 | status: 11 | ackResourceMetadata: 12 | arn: arn:aws:sagemaker:us-east-2:1234:notebook-instance/test 13 | ownerAccountID: "" 14 | region: "" 15 | conditions: 16 | - lastTransitionTime: "0001-01-01T00:00:00Z" 17 | message: NotebookInstance is in Stopped status. 18 | status: "True" 19 | type: ACK.ResourceSynced 20 | notebookInstanceStatus: Stopped 21 | -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/v1alpha1/delete/desired/nb_delete_stopping.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstance 3 | metadata: 4 | name: test 5 | spec: 6 | instanceType: ml.t2.medium 7 | notebookInstanceName: test 8 | roleARN: arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole 9 | volumeSizeInGB: 8 10 | status: 11 | ackResourceMetadata: 12 | arn: arn:aws:sagemaker:us-east-2:1234:notebook-instance/test 13 | ownerAccountID: "" 14 | region: "" 15 | conditions: 16 | - lastTransitionTime: "0001-01-01T00:00:00Z" 17 | message: NotebookInstance is in Stopping status. 18 | status: "False" 19 | type: ACK.ResourceSynced 20 | notebookInstanceStatus: Stopping 21 | -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/v1alpha1/delete/desired/nb_delete_updating.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstance 3 | metadata: 4 | name: test 5 | spec: 6 | instanceType: ml.t2.medium 7 | notebookInstanceName: test 8 | roleARN: arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole 9 | volumeSizeInGB: 8 10 | status: 11 | ackResourceMetadata: 12 | arn: arn:aws:sagemaker:us-east-2:1234:notebook-instance/test 13 | ownerAccountID: "" 14 | region: "" 15 | conditions: 16 | - lastTransitionTime: "0001-01-01T00:00:00Z" 17 | message: NotebookInstance is in Updating status. 18 | status: "False" 19 | type: ACK.ResourceSynced 20 | notebookInstanceStatus: Updating 21 | -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/v1alpha1/readone/desired/nb_readone_deleting.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstance 3 | metadata: 4 | name: test 5 | spec: 6 | instanceType: ml.t2.medium 7 | notebookInstanceName: test 8 | platformIdentifier: notebook-al1-v1 9 | roleARN: arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole 10 | volumeSizeInGB: 8 11 | status: 12 | ackResourceMetadata: 13 | arn: arn:aws:sagemaker:us-east-2:1234:notebook-instance/test 14 | ownerAccountID: "" 15 | region: "" 16 | conditions: [] 17 | notebookInstanceStatus: Stopping -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/v1alpha1/readone/desired/nb_readone_fail.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstance 3 | metadata: 4 | name: test 5 | spec: 6 | instanceType: ml.t2.medium 7 | notebookInstanceName: test 8 | platformIdentifier: notebook-al1-v1 9 | roleARN: arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole 10 | volumeSizeInGB: 8 11 | status: 12 | ackResourceMetadata: 13 | arn: arn:aws:sagemaker:us-east-2:1234:notebook-instance/test 14 | ownerAccountID: "" 15 | region: "" 16 | conditions: [] 17 | notebookInstanceStatus: Pending -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/v1alpha1/readone/desired/nb_readone_failed_state.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstance 3 | metadata: 4 | name: test 5 | spec: 6 | instanceType: ml.t2.medium 7 | notebookInstanceName: test 8 | platformIdentifier: notebook-al1-v1 9 | roleARN: arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole 10 | volumeSizeInGB: 8 11 | status: 12 | ackResourceMetadata: 13 | arn: arn:aws:sagemaker:us-east-2:1234:notebook-instance/test 14 | ownerAccountID: "" 15 | region: "" 16 | conditions: [] 17 | notebookInstanceStatus: Updating 18 | -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/v1alpha1/readone/desired/nb_readone_inservice.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstance 3 | metadata: 4 | name: test 5 | spec: 6 | instanceType: ml.t2.medium 7 | notebookInstanceName: test 8 | platformIdentifier: notebook-al1-v1 9 | roleARN: arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole 10 | volumeSizeInGB: 8 11 | lifecycleConfigName: my-lfc 12 | acceleratorTypes: 13 | - ml.eia1.medium 14 | defaultCodeRepository: my-code 15 | kmsKeyID: op 16 | subnetID: abc 17 | additionalCodeRepositories: 18 | - code-repo 19 | status: 20 | ackResourceMetadata: 21 | arn: arn:aws:sagemaker:us-east-2:1234:notebook-instance/test 22 | ownerAccountID: "" 23 | region: "" 24 | conditions: [] 25 | notebookInstanceStatus: Pending -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/v1alpha1/readone/desired/nb_readone_pending_after_create.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstance 3 | metadata: 4 | name: test 5 | spec: 6 | instanceType: ml.t2.medium 7 | notebookInstanceName: test 8 | platformIdentifier: notebook-al1-v1 9 | roleARN: arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole 10 | volumeSizeInGB: 8 11 | status: 12 | ackResourceMetadata: 13 | arn: arn:aws:sagemaker:us-east-2:1234:notebook-instance/test 14 | ownerAccountID: "" 15 | region: "" 16 | conditions: [] 17 | notebookInstanceStatus: Pending -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/v1alpha1/readone/desired/nb_readone_stopped_after_update_ack.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstance 3 | metadata: 4 | name: test 5 | spec: 6 | instanceType: ml.t2.medium 7 | notebookInstanceName: test 8 | platformIdentifier: notebook-al1-v1 9 | roleARN: arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole 10 | volumeSizeInGB: 8 11 | status: 12 | ackResourceMetadata: 13 | arn: arn:aws:sagemaker:us-east-2:1234:notebook-instance/test 14 | ownerAccountID: "" 15 | region: "" 16 | conditions: [] 17 | notebookInstanceStatus: Updating 18 | StoppedByControllerMetadata: UpdateTriggered -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/v1alpha1/readone/desired/nb_readone_stopped_after_update_human.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstance 3 | metadata: 4 | name: test 5 | spec: 6 | instanceType: ml.t2.medium 7 | notebookInstanceName: test 8 | platformIdentifier: notebook-al1-v1 9 | roleARN: arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole 10 | volumeSizeInGB: 8 11 | status: 12 | ackResourceMetadata: 13 | arn: arn:aws:sagemaker:us-east-2:1234:notebook-instance/test 14 | ownerAccountID: "" 15 | region: "" 16 | conditions: [] 17 | notebookInstanceStatus: Updating -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/v1alpha1/readone/desired/nb_readone_stopped_before_update_ack.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstance 3 | metadata: 4 | name: test 5 | spec: 6 | instanceType: ml.t2.medium 7 | notebookInstanceName: test 8 | platformIdentifier: notebook-al1-v1 9 | roleARN: arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole 10 | volumeSizeInGB: 8 11 | status: 12 | ackResourceMetadata: 13 | arn: arn:aws:sagemaker:us-east-2:1234:notebook-instance/test 14 | ownerAccountID: "" 15 | region: "" 16 | conditions: [] 17 | notebookInstanceStatus: Stopped 18 | StoppedByControllerMetadata: UpdatePending -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/v1alpha1/readone/desired/nb_readone_stopping_deleting.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstance 3 | metadata: 4 | name: test 5 | spec: 6 | instanceType: ml.t2.medium 7 | notebookInstanceName: test 8 | platformIdentifier: notebook-al1-v1 9 | roleARN: arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole 10 | volumeSizeInGB: 8 11 | status: 12 | ackResourceMetadata: 13 | arn: arn:aws:sagemaker:us-east-2:1234:notebook-instance/test 14 | ownerAccountID: "" 15 | region: "" 16 | conditions: [] 17 | notebookInstanceStatus: Stopping -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/v1alpha1/readone/desired/nb_readone_stopping_update.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstance 3 | metadata: 4 | name: test 5 | spec: 6 | instanceType: ml.t2.medium 7 | notebookInstanceName: test 8 | platformIdentifier: notebook-al1-v1 9 | roleARN: arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole 10 | volumeSizeInGB: 8 11 | status: 12 | ackResourceMetadata: 13 | arn: arn:aws:sagemaker:us-east-2:1234:notebook-instance/test 14 | ownerAccountID: "" 15 | region: "" 16 | conditions: [] 17 | notebookInstanceStatus: Stopping 18 | StoppedByControllerMetadata: UpdatePending 19 | -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/v1alpha1/readone/desired/nb_readone_updating.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstance 3 | metadata: 4 | name: test 5 | spec: 6 | instanceType: ml.t2.medium 7 | notebookInstanceName: test 8 | platformIdentifier: notebook-al1-v1 9 | roleARN: arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole 10 | volumeSizeInGB: 8 11 | status: 12 | ackResourceMetadata: 13 | arn: arn:aws:sagemaker:us-east-2:1234:notebook-instance/test 14 | ownerAccountID: "" 15 | region: "" 16 | conditions: [] 17 | notebookInstanceStatus: Stopped -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/v1alpha1/readone/desired/nb_readone_updating_by_user.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstance 3 | metadata: 4 | name: test 5 | spec: 6 | instanceType: ml.t2.medium 7 | notebookInstanceName: test 8 | platformIdentifier: notebook-al1-v1 9 | roleARN: arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole 10 | volumeSizeInGB: 8 11 | status: 12 | ackResourceMetadata: 13 | arn: arn:aws:sagemaker:us-east-2:1234:notebook-instance/test 14 | ownerAccountID: "" 15 | region: "" 16 | conditions: [] 17 | notebookInstanceStatus: Updating -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/v1alpha1/readone/observed/nb_readone_deleting.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstance 3 | metadata: 4 | creationTimestamp: null 5 | name: test 6 | spec: 7 | directInternetAccess: Enabled 8 | instanceType: ml.t2.medium 9 | notebookInstanceName: test 10 | platformIdentifier: notebook-al1-v1 11 | roleARN: arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole 12 | rootAccess: Enabled 13 | volumeSizeInGB: 8 14 | status: 15 | ackResourceMetadata: 16 | arn: arn:aws:sagemaker:us-east-2:1234:notebook-instance/test 17 | ownerAccountID: "" 18 | region: "" 19 | conditions: 20 | - lastTransitionTime: "0001-01-01T00:00:00Z" 21 | message: NotebookInstance is in Deleting status. 22 | status: "False" 23 | type: ACK.ResourceSynced 24 | notebookInstanceStatus: Deleting 25 | url: test.notebook.us-east-2.sagemaker.aws 26 | -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/v1alpha1/readone/observed/nb_readone_failed_state.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstance 3 | metadata: 4 | creationTimestamp: null 5 | name: test 6 | spec: 7 | directInternetAccess: Enabled 8 | instanceType: ml.t2.medium 9 | notebookInstanceName: test 10 | platformIdentifier: notebook-al1-v1 11 | roleARN: arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole 12 | rootAccess: Enabled 13 | volumeSizeInGB: 8 14 | status: 15 | ackResourceMetadata: 16 | arn: arn:aws:sagemaker:us-east-2:1234:notebook-instance/test 17 | ownerAccountID: "" 18 | region: "" 19 | conditions: 20 | - lastTransitionTime: "0001-01-01T00:00:00Z" 21 | message: NotebookInstance is in Failed status. 22 | status: "True" 23 | type: ACK.ResourceSynced 24 | failureReason: VolumeError 25 | notebookInstanceStatus: Failed 26 | url: test.notebook.us-east-2.sagemaker.aws 27 | -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/v1alpha1/readone/observed/nb_readone_pending_after_create.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstance 3 | metadata: 4 | creationTimestamp: null 5 | name: test 6 | spec: 7 | directInternetAccess: Enabled 8 | instanceType: ml.t2.medium 9 | notebookInstanceName: test 10 | platformIdentifier: notebook-al1-v1 11 | roleARN: arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole 12 | rootAccess: Enabled 13 | volumeSizeInGB: 8 14 | status: 15 | ackResourceMetadata: 16 | arn: arn:aws:sagemaker:us-east-2:1234:notebook-instance/test 17 | ownerAccountID: "" 18 | region: "" 19 | conditions: 20 | - lastTransitionTime: "0001-01-01T00:00:00Z" 21 | message: NotebookInstance is in Pending status. 22 | status: "False" 23 | type: ACK.ResourceSynced 24 | notebookInstanceStatus: Pending 25 | url: test.notebook.us-east-2.sagemaker.aws 26 | -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/v1alpha1/readone/observed/nb_readone_stopped_after_update.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstance 3 | metadata: 4 | creationTimestamp: null 5 | name: test 6 | spec: 7 | directInternetAccess: Enabled 8 | instanceType: ml.t2.medium 9 | notebookInstanceName: test 10 | platformIdentifier: notebook-al1-v1 11 | roleARN: arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole 12 | rootAccess: Enabled 13 | volumeSizeInGB: 9 14 | status: 15 | ackResourceMetadata: 16 | arn: arn:aws:sagemaker:us-east-2:1234:notebook-instance/test 17 | ownerAccountID: "" 18 | region: "" 19 | conditions: 20 | - lastTransitionTime: "0001-01-01T00:00:00Z" 21 | message: NotebookInstance is in Stopped status. 22 | status: "True" 23 | type: ACK.ResourceSynced 24 | notebookInstanceStatus: Stopped 25 | url: test.notebook.us-east-2.sagemaker.aws 26 | -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/v1alpha1/readone/observed/nb_readone_stopped_after_update_ack.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstance 3 | metadata: 4 | creationTimestamp: null 5 | name: test 6 | spec: 7 | directInternetAccess: Enabled 8 | instanceType: ml.t2.medium 9 | notebookInstanceName: test 10 | platformIdentifier: notebook-al1-v1 11 | roleARN: arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole 12 | rootAccess: Enabled 13 | volumeSizeInGB: 9 14 | status: 15 | ackResourceMetadata: 16 | arn: arn:aws:sagemaker:us-east-2:1234:notebook-instance/test 17 | ownerAccountID: "" 18 | region: "" 19 | conditions: 20 | - lastTransitionTime: "0001-01-01T00:00:00Z" 21 | message: NotebookInstance is in Pending status. 22 | status: "False" 23 | type: ACK.ResourceSynced 24 | notebookInstanceStatus: Pending 25 | url: test.notebook.us-east-2.sagemaker.aws 26 | -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/v1alpha1/readone/observed/nb_readone_stopped_before_update_ack.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstance 3 | metadata: 4 | creationTimestamp: null 5 | name: test 6 | spec: 7 | directInternetAccess: Enabled 8 | instanceType: ml.t2.medium 9 | notebookInstanceName: test 10 | platformIdentifier: notebook-al1-v1 11 | roleARN: arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole 12 | rootAccess: Enabled 13 | volumeSizeInGB: 8 14 | status: 15 | ackResourceMetadata: 16 | arn: arn:aws:sagemaker:us-east-2:1234:notebook-instance/test 17 | ownerAccountID: "" 18 | region: "" 19 | conditions: 20 | - lastTransitionTime: "0001-01-01T00:00:00Z" 21 | message: NotebookInstance is in Stopped status. 22 | status: "True" 23 | type: ACK.ResourceSynced 24 | notebookInstanceStatus: Stopped 25 | stoppedByControllerMetadata: UpdatePending 26 | url: test.notebook.us-east-2.sagemaker.aws 27 | -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/v1alpha1/readone/observed/nb_readone_stopping_deleting.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstance 3 | metadata: 4 | creationTimestamp: null 5 | name: test 6 | spec: 7 | directInternetAccess: Enabled 8 | instanceType: ml.t2.medium 9 | notebookInstanceName: test 10 | platformIdentifier: notebook-al1-v1 11 | roleARN: arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole 12 | rootAccess: Enabled 13 | volumeSizeInGB: 8 14 | status: 15 | ackResourceMetadata: 16 | arn: arn:aws:sagemaker:us-east-2:1234:notebook-instance/test 17 | ownerAccountID: "" 18 | region: "" 19 | conditions: 20 | - lastTransitionTime: "0001-01-01T00:00:00Z" 21 | message: NotebookInstance is in Stopping status. 22 | status: "False" 23 | type: ACK.ResourceSynced 24 | notebookInstanceStatus: Stopping 25 | url: test.notebook.us-east-2.sagemaker.aws 26 | -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/v1alpha1/readone/observed/nb_readone_stopping_update.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstance 3 | metadata: 4 | creationTimestamp: null 5 | name: test 6 | spec: 7 | directInternetAccess: Enabled 8 | instanceType: ml.t2.medium 9 | notebookInstanceName: test 10 | platformIdentifier: notebook-al1-v1 11 | roleARN: arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole 12 | rootAccess: Enabled 13 | volumeSizeInGB: 8 14 | status: 15 | ackResourceMetadata: 16 | arn: arn:aws:sagemaker:us-east-2:1234:notebook-instance/test 17 | ownerAccountID: "" 18 | region: "" 19 | conditions: 20 | - lastTransitionTime: "0001-01-01T00:00:00Z" 21 | message: NotebookInstance is in Stopping status. 22 | status: "False" 23 | type: ACK.ResourceSynced 24 | notebookInstanceStatus: Stopping 25 | stoppedByControllerMetadata: UpdatePending 26 | url: test.notebook.us-east-2.sagemaker.aws 27 | -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/v1alpha1/readone/observed/nb_readone_updating.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstance 3 | metadata: 4 | creationTimestamp: null 5 | name: test 6 | spec: 7 | directInternetAccess: Enabled 8 | instanceType: ml.t2.medium 9 | notebookInstanceName: test 10 | platformIdentifier: notebook-al1-v1 11 | roleARN: arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole 12 | rootAccess: Enabled 13 | volumeSizeInGB: 8 14 | status: 15 | ackResourceMetadata: 16 | arn: arn:aws:sagemaker:us-east-2:1234:notebook-instance/test 17 | ownerAccountID: "" 18 | region: "" 19 | conditions: 20 | - lastTransitionTime: "0001-01-01T00:00:00Z" 21 | message: NotebookInstance is in Updating status. 22 | status: "False" 23 | type: ACK.ResourceSynced 24 | notebookInstanceStatus: Updating 25 | url: test.notebook.us-east-2.sagemaker.aws 26 | -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/v1alpha1/readone/observed/nb_readone_updating_by_user.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstance 3 | metadata: 4 | creationTimestamp: null 5 | name: test 6 | spec: 7 | directInternetAccess: Enabled 8 | instanceType: ml.t2.medium 9 | notebookInstanceName: test 10 | platformIdentifier: notebook-al1-v1 11 | roleARN: arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole 12 | rootAccess: Enabled 13 | volumeSizeInGB: 8 14 | status: 15 | ackResourceMetadata: 16 | arn: arn:aws:sagemaker:us-east-2:1234:notebook-instance/test 17 | ownerAccountID: "" 18 | region: "" 19 | conditions: 20 | - lastTransitionTime: "0001-01-01T00:00:00Z" 21 | message: NotebookInstance is in Updating status. 22 | status: "False" 23 | type: ACK.ResourceSynced 24 | notebookInstanceStatus: Updating 25 | url: test.notebook.us-east-2.sagemaker.aws 26 | -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/v1alpha1/update/desired/nb_update_desired_common.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstance 3 | metadata: 4 | name: test 5 | spec: 6 | instanceType: ml.t2.medium 7 | notebookInstanceName: test 8 | platformIdentifier: notebook-al1-v1 9 | roleARN: arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole 10 | volumeSizeInGB: 9 11 | status: 12 | ackResourceMetadata: 13 | arn: arn:aws:sagemaker:us-east-2:1234:notebook-instance/test 14 | ownerAccountID: "" 15 | region: "" 16 | -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/v1alpha1/update/desired/nb_update_desired_invalid.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstance 3 | metadata: 4 | name: test 5 | spec: 6 | instanceType: ml.t2.medium 7 | notebookInstanceName: test 8 | platformIdentifier: notebook-al1-v1 9 | roleARN: arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole 10 | volumeSizeInGB: 6 11 | status: 12 | ackResourceMetadata: 13 | arn: arn:aws:sagemaker:us-east-2:1234:notebook-instance/test 14 | ownerAccountID: "" 15 | region: "" 16 | -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/v1alpha1/update/desired/nb_update_latest_inservice_input.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstance 3 | metadata: 4 | name: test 5 | spec: 6 | instanceType: ml.t2.medium 7 | notebookInstanceName: test 8 | platformIdentifier: notebook-al1-v1 9 | roleARN: arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole 10 | volumeSizeInGB: 8 11 | status: 12 | ackResourceMetadata: 13 | arn: arn:aws:sagemaker:us-east-2:1234:notebook-instance/test 14 | ownerAccountID: "" 15 | region: "" 16 | conditions: 17 | - lastTransitionTime: "0001-01-01T00:00:00Z" 18 | message: NotebookInstance is in InService status. 19 | status: "True" 20 | type: ACK.ResourceSynced 21 | notebookInstanceStatus: InService 22 | -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/v1alpha1/update/desired/nb_update_latest_pending_input.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstance 3 | metadata: 4 | name: test 5 | spec: 6 | instanceType: ml.t2.medium 7 | notebookInstanceName: test 8 | platformIdentifier: notebook-al1-v1 9 | roleARN: arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole 10 | volumeSizeInGB: 8 11 | status: 12 | ackResourceMetadata: 13 | arn: arn:aws:sagemaker:us-east-2:1234:notebook-instance/test 14 | ownerAccountID: "" 15 | region: "" 16 | conditions: 17 | - lastTransitionTime: "0001-01-01T00:00:00Z" 18 | message: NotebookInstance is in Pending status. 19 | status: "False" 20 | type: ACK.ResourceSynced 21 | notebookInstanceStatus: Pending 22 | -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/v1alpha1/update/desired/nb_update_latest_stopped_by_user_input.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstance 3 | metadata: 4 | creationTimestamp: null 5 | name: test 6 | spec: 7 | instanceType: ml.t2.medium 8 | notebookInstanceName: test 9 | platformIdentifier: notebook-al1-v1 10 | roleARN: arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole 11 | volumeSizeInGB: 8 12 | status: 13 | ackResourceMetadata: 14 | arn: arn:aws:sagemaker:us-east-2:1234:notebook-instance/test 15 | ownerAccountID: "" 16 | region: "" 17 | conditions: 18 | - lastTransitionTime: null 19 | message: NotebookInstance is in Stopped status. 20 | status: "True" 21 | type: ACK.ResourceSynced 22 | notebookInstanceStatus: Stopped 23 | -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/v1alpha1/update/desired/nb_update_latest_stopped_controller_input.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstance 3 | metadata: 4 | creationTimestamp: null 5 | name: test 6 | spec: 7 | instanceType: ml.t2.medium 8 | notebookInstanceName: test 9 | platformIdentifier: notebook-al1-v1 10 | roleARN: arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole 11 | volumeSizeInGB: 8 12 | status: 13 | ackResourceMetadata: 14 | arn: arn:aws:sagemaker:us-east-2:1234:notebook-instance/test 15 | ownerAccountID: "" 16 | region: "" 17 | conditions: 18 | - lastTransitionTime: null 19 | message: NotebookInstance is in Stopped status. 20 | status: "True" 21 | type: ACK.ResourceSynced 22 | notebookInstanceStatus: Stopped 23 | stoppedByControllerMetadata: UpdatePending 24 | -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/v1alpha1/update/desired/nb_update_latest_stopping_input.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstance 3 | metadata: 4 | name: test 5 | spec: 6 | instanceType: ml.t2.medium 7 | notebookInstanceName: test 8 | platformIdentifier: notebook-al1-v1 9 | roleARN: arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole 10 | volumeSizeInGB: 8 11 | status: 12 | ackResourceMetadata: 13 | arn: arn:aws:sagemaker:us-east-2:1234:notebook-instance/test 14 | ownerAccountID: "" 15 | region: "" 16 | conditions: 17 | - lastTransitionTime: "0001-01-01T00:00:00Z" 18 | message: NotebookInstance is in Stopping status. 19 | status: "False" 20 | type: ACK.ResourceSynced 21 | notebookInstanceStatus: Stopping 22 | stoppedByControllerMetadata: UpdatePending 23 | -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/v1alpha1/update/desired/nb_update_latest_updating_input.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstance 3 | metadata: 4 | name: test 5 | spec: 6 | instanceType: ml.t2.medium 7 | notebookInstanceName: test 8 | platformIdentifier: notebook-al1-v1 9 | roleARN: arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole 10 | volumeSizeInGB: 8 11 | status: 12 | ackResourceMetadata: 13 | arn: arn:aws:sagemaker:us-east-2:1234:notebook-instance/test 14 | ownerAccountID: "" 15 | region: "" 16 | conditions: 17 | - lastTransitionTime: "0001-01-01T00:00:00Z" 18 | message: NotebookInstance is in Updating status. 19 | status: "False" 20 | type: ACK.ResourceSynced 21 | notebookInstanceStatus: Updating -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/v1alpha1/update/observed/nb_update_dissassociated.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstance 3 | metadata: 4 | creationTimestamp: null 5 | name: test 6 | spec: 7 | directInternetAccess: Enabled 8 | instanceType: ml.t2.medium 9 | notebookInstanceName: test 10 | platformIdentifier: notebook-al1-v1 11 | roleARN: arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole 12 | rootAccess: Enabled 13 | volumeSizeInGB: 9 14 | status: 15 | ackResourceMetadata: 16 | arn: arn:aws:sagemaker:us-east-2:1234:notebook-instance/test 17 | ownerAccountID: "" 18 | region: "" 19 | conditions: 20 | - lastTransitionTime: "0001-01-01T00:00:00Z" 21 | message: NotebookInstance is in Updating status. 22 | status: "False" 23 | type: ACK.ResourceSynced 24 | stoppedByControllerMetadata: UpdateTriggered 25 | -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/v1alpha1/update/observed/nb_update_inservice.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstance 3 | metadata: 4 | creationTimestamp: null 5 | name: test 6 | spec: 7 | instanceType: ml.t2.medium 8 | notebookInstanceName: test 9 | platformIdentifier: notebook-al1-v1 10 | roleARN: arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole 11 | volumeSizeInGB: 8 12 | status: 13 | ackResourceMetadata: 14 | arn: arn:aws:sagemaker:us-east-2:1234:notebook-instance/test 15 | ownerAccountID: "" 16 | region: "" 17 | conditions: 18 | - lastTransitionTime: null 19 | message: NotebookInstance is in InService status. 20 | status: "True" 21 | type: ACK.ResourceSynced 22 | - message: NotebookInstance is stopping. 23 | status: "True" 24 | type: ACK.Recoverable 25 | notebookInstanceStatus: InService 26 | stoppedByControllerMetadata: UpdatePending 27 | -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/v1alpha1/update/observed/nb_update_invalid.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstance 3 | metadata: 4 | creationTimestamp: null 5 | name: test 6 | spec: 7 | instanceType: ml.t2.medium 8 | notebookInstanceName: test 9 | platformIdentifier: notebook-al1-v1 10 | roleARN: arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole 11 | volumeSizeInGB: 8 12 | status: 13 | ackResourceMetadata: 14 | arn: arn:aws:sagemaker:us-east-2:1234:notebook-instance/test 15 | ownerAccountID: "" 16 | region: "" 17 | conditions: 18 | - message: NotebookInstance is in Stopped status. 19 | status: "True" 20 | type: ACK.ResourceSynced 21 | - message: "ValidationException: VolumeInSizeGB cannot be lower than current.\n\tstatus 22 | code: 0, request id: " 23 | status: "True" 24 | type: ACK.Recoverable 25 | notebookInstanceStatus: Stopped 26 | -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/v1alpha1/update/observed/nb_update_stopped_by_user.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstance 3 | metadata: 4 | creationTimestamp: null 5 | name: test 6 | spec: 7 | instanceType: ml.t2.medium 8 | notebookInstanceName: test 9 | platformIdentifier: notebook-al1-v1 10 | roleARN: arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole 11 | volumeSizeInGB: 9 12 | status: 13 | ackResourceMetadata: 14 | arn: arn:aws:sagemaker:us-east-2:1234:notebook-instance/test 15 | ownerAccountID: "" 16 | region: "" 17 | conditions: 18 | - lastTransitionTime: "0001-01-01T00:00:00Z" 19 | message: NotebookInstance is in Updating status. 20 | status: "False" 21 | type: ACK.ResourceSynced 22 | -------------------------------------------------------------------------------- /pkg/resource/notebook_instance/testdata/v1alpha1/update/observed/nb_update_stopped_controller.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstance 3 | metadata: 4 | creationTimestamp: null 5 | name: test 6 | spec: 7 | instanceType: ml.t2.medium 8 | notebookInstanceName: test 9 | platformIdentifier: notebook-al1-v1 10 | roleARN: arn:aws:iam::1234:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole 11 | volumeSizeInGB: 9 12 | status: 13 | ackResourceMetadata: 14 | arn: arn:aws:sagemaker:us-east-2:1234:notebook-instance/test 15 | ownerAccountID: "" 16 | region: "" 17 | conditions: 18 | - lastTransitionTime: "0001-01-01T00:00:00Z" 19 | message: NotebookInstance is in Updating status. 20 | status: "False" 21 | type: ACK.ResourceSynced 22 | stoppedByControllerMetadata: UpdateTriggered 23 | -------------------------------------------------------------------------------- /pkg/resource/notebook_instance_lifecycle_config/hooks.go: -------------------------------------------------------------------------------- 1 | package notebook_instance_lifecycle_config 2 | 3 | import ( 4 | "errors" 5 | 6 | ackrequeue "github.com/aws-controllers-k8s/runtime/pkg/requeue" 7 | ) 8 | 9 | var ( 10 | resourceName = GroupKind.Kind 11 | 12 | requeueWaitWhileUpdating = ackrequeue.NeededAfter( 13 | errors.New(resourceName+" is updating."), 14 | ackrequeue.DefaultRequeueAfterDuration, 15 | ) 16 | ) 17 | -------------------------------------------------------------------------------- /pkg/resource/notebook_instance_lifecycle_config/testdata/sdkapi/create/create_success.json: -------------------------------------------------------------------------------- 1 | { 2 | "NotebookInstanceLifecycleConfigArn": "arn:aws:sagemaker:us-west-2:123456789012:notebook-instance-lifecycle-config/unit-testing-notebook-instance-lifecycle-config" 3 | } -------------------------------------------------------------------------------- /pkg/resource/notebook_instance_lifecycle_config/testdata/sdkapi/describe/success_describe.json: -------------------------------------------------------------------------------- 1 | { 2 | "CreationTime": "2021-09-22T06:13:00.841Z", 3 | "LastModifiedTime": "2021-09-22T06:13:00.841Z", 4 | "NotebookInstanceLifecycleConfigArn": "arn:aws:sagemaker:us-west-2:123456789012:notebook-instance-lifecycle-config/unit-testing-notebook-instance-lifecycle-config", 5 | "NotebookInstanceLifecycleConfigName": "unit-testing-notebook-instance-lifecycle-config", 6 | "OnCreate": [ 7 | { 8 | "Content": "ZWNobyAiRW50ZXJpbmcgb25DcmVhdGUi" 9 | } 10 | ], 11 | "OnStart": [ 12 | { 13 | "Content": "ZWNobyAiRW50ZXJpbmcgb25TdGFydCI=" 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /pkg/resource/notebook_instance_lifecycle_config/testdata/v1alpha1/create/desired/invalid_before_create.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstanceLifecycleConfig 3 | metadata: 4 | name: unit-testing-notebook-instance-lifecycle-config 5 | spec: 6 | notebookInstanceLifecycleConfigName: intentionally@invalid-name 7 | onStart: 8 | - content: ZWNobyAiRW50ZXJpbmcgb25TdGFydCI= 9 | onCreate: 10 | - content: ZWNobyAiRW50ZXJpbmcgb25DcmVhdGUi -------------------------------------------------------------------------------- /pkg/resource/notebook_instance_lifecycle_config/testdata/v1alpha1/create/desired/success_before_create.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstanceLifecycleConfig 3 | metadata: 4 | name: unit-testing-notebook-instance-lifecycle-config 5 | spec: 6 | notebookInstanceLifecycleConfigName: unit-testing-notebook-instance-lifecycle-config 7 | onStart: 8 | - content: ZWNobyAiRW50ZXJpbmcgb25TdGFydCI= 9 | onCreate: 10 | - content: ZWNobyAiRW50ZXJpbmcgb25DcmVhdGUi -------------------------------------------------------------------------------- /pkg/resource/notebook_instance_lifecycle_config/testdata/v1alpha1/create/observed/invalid_create_attempted.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstanceLifecycleConfig 3 | metadata: 4 | creationTimestamp: null 5 | name: unit-testing-notebook-instance-lifecycle-config 6 | spec: 7 | notebookInstanceLifecycleConfigName: intentionally@invalid-name 8 | onCreate: 9 | - content: ZWNobyAiRW50ZXJpbmcgb25DcmVhdGUi 10 | onStart: 11 | - content: ZWNobyAiRW50ZXJpbmcgb25TdGFydCI= 12 | status: 13 | ackResourceMetadata: 14 | ownerAccountID: "" 15 | region: "" 16 | conditions: 17 | - message: "InvalidParameterValue: The notebook instance lifecycle config name must 18 | not include a special character.\n\tstatus code: 0, request id: " 19 | status: "True" 20 | type: ACK.Terminal 21 | -------------------------------------------------------------------------------- /pkg/resource/notebook_instance_lifecycle_config/testdata/v1alpha1/create/observed/success_after_create.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstanceLifecycleConfig 3 | metadata: 4 | creationTimestamp: null 5 | name: unit-testing-notebook-instance-lifecycle-config 6 | spec: 7 | notebookInstanceLifecycleConfigName: unit-testing-notebook-instance-lifecycle-config 8 | onCreate: 9 | - content: ZWNobyAiRW50ZXJpbmcgb25DcmVhdGUi 10 | onStart: 11 | - content: ZWNobyAiRW50ZXJpbmcgb25TdGFydCI= 12 | status: 13 | ackResourceMetadata: 14 | arn: arn:aws:sagemaker:us-west-2:123456789012:notebook-instance-lifecycle-config/unit-testing-notebook-instance-lifecycle-config 15 | ownerAccountID: "" 16 | region: "" 17 | conditions: [] 18 | -------------------------------------------------------------------------------- /pkg/resource/notebook_instance_lifecycle_config/testdata/v1alpha1/delete/desired/inservice_before_delete.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstanceLifecycleConfig 3 | metadata: 4 | creationTimestamp: null 5 | name: unit-testing-notebook-instance-lifecycle-config 6 | spec: 7 | notebookInstanceLifecycleConfigName: unit-testing-notebook-instance-lifecycle-config 8 | onCreate: 9 | - content: ZWNobyAiRW50ZXJpbmcgb25DcmVhdGUi 10 | onStart: 11 | - content: ZWNobyAiRW50ZXJpbmcgb25TdGFydCI= 12 | status: 13 | ackResourceMetadata: 14 | arn: arn:aws:sagemaker:us-west-2:123456789012:notebook-instance-lifecycle-config/unit-testing-notebook-instance-lifecycle-config 15 | ownerAccountID: "" 16 | region: "" 17 | conditions: 18 | - status: "True" 19 | type: ACK.ResourceSynced 20 | creationTime: "0001-01-01T00:00:00Z" 21 | lastModifiedTime: "0001-01-01T00:00:00Z" 22 | -------------------------------------------------------------------------------- /pkg/resource/notebook_instance_lifecycle_config/testdata/v1alpha1/readone/desired/error_conditions_true.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstanceLifecycleConfig 3 | metadata: 4 | creationTimestamp: null 5 | name: unit-testing-notebook-instance-lifecycle-config 6 | spec: 7 | notebookInstanceLifecycleConfigName: intentionally@invalid-name 8 | onCreate: 9 | - content: ZWNobyAiRW50ZXJpbmcgb25DcmVhdGUi 10 | onStart: 11 | - content: ZWNobyAiRW50ZXJpbmcgb25TdGFydCI= 12 | status: 13 | ackResourceMetadata: 14 | ownerAccountID: "" 15 | region: "" 16 | conditions: 17 | - message: "InvalidParameterValue: The notebook instance lifecycle config name must 18 | not include a special character.\n\tstatus code: 0, request id: " 19 | status: "True" 20 | type: ACK.Terminal 21 | -------------------------------------------------------------------------------- /pkg/resource/notebook_instance_lifecycle_config/testdata/v1alpha1/readone/desired/missing_required_field.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstanceLifecycleConfig 3 | metadata: 4 | name: unit-testing-notebook-instance-lifecycle-config 5 | spec: 6 | # missing notebookInstanceLifecycleConfigName 7 | onStart: 8 | - content: ZWNobyAiRW50ZXJpbmcgb25TdGFydCI= 9 | onCreate: 10 | - content: ZWNobyAiRW50ZXJpbmcgb25DcmVhdGUi -------------------------------------------------------------------------------- /pkg/resource/notebook_instance_lifecycle_config/testdata/v1alpha1/readone/desired/right_after_create.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstanceLifecycleConfig 3 | metadata: 4 | creationTimestamp: null 5 | name: unit-testing-notebook-instance-lifecycle-config 6 | spec: 7 | notebookInstanceLifecycleConfigName: unit-testing-notebook-instance-lifecycle-config 8 | onCreate: 9 | - content: ZWNobyAiRW50ZXJpbmcgb25DcmVhdGUi 10 | onStart: 11 | - content: ZWNobyAiRW50ZXJpbmcgb25TdGFydCI= 12 | status: 13 | ackResourceMetadata: 14 | arn: arn:aws:sagemaker:us-west-2:123456789012:notebook-instance-lifecycle-config/unit-testing-notebook-instance-lifecycle-config 15 | ownerAccountID: "" 16 | region: "" 17 | conditions: 18 | - status: "True" 19 | type: ACK.ResourceSynced 20 | creationTime: "0001-01-01T00:00:00Z" -------------------------------------------------------------------------------- /pkg/resource/notebook_instance_lifecycle_config/testdata/v1alpha1/readone/observed/conditions_clear_on_success.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstanceLifecycleConfig 3 | metadata: 4 | creationTimestamp: null 5 | name: unit-testing-notebook-instance-lifecycle-config 6 | spec: 7 | notebookInstanceLifecycleConfigName: unit-testing-notebook-instance-lifecycle-config 8 | onCreate: 9 | - content: ZWNobyAiRW50ZXJpbmcgb25DcmVhdGUi 10 | onStart: 11 | - content: ZWNobyAiRW50ZXJpbmcgb25TdGFydCI= 12 | status: 13 | ackResourceMetadata: 14 | arn: arn:aws:sagemaker:us-west-2:123456789012:notebook-instance-lifecycle-config/unit-testing-notebook-instance-lifecycle-config 15 | ownerAccountID: "" 16 | region: "" 17 | conditions: 18 | - status: "False" 19 | type: ACK.Terminal 20 | creationTime: "0001-01-01T00:00:00Z" 21 | lastModifiedTime: "0001-01-01T00:00:00Z" 22 | -------------------------------------------------------------------------------- /pkg/resource/notebook_instance_lifecycle_config/testdata/v1alpha1/readone/observed/creating_after_describe.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstanceLifecycleConfig 3 | metadata: 4 | creationTimestamp: null 5 | name: unit-testing-notebook-instance-lifecycle-config 6 | spec: 7 | notebookInstanceLifecycleConfigName: unit-testing-notebook-instance-lifecycle-config 8 | onCreate: 9 | - content: ZWNobyAiRW50ZXJpbmcgb25DcmVhdGUi 10 | onStart: 11 | - content: ZWNobyAiRW50ZXJpbmcgb25TdGFydCI= 12 | status: 13 | ackResourceMetadata: 14 | arn: arn:aws:sagemaker:us-west-2:123456789012:notebook-instance-lifecycle-config/unit-testing-notebook-instance-lifecycle-config 15 | ownerAccountID: "" 16 | region: "" 17 | conditions: 18 | - status: "True" 19 | type: ACK.ResourceSynced 20 | creationTime: "0001-01-01T00:00:00Z" 21 | lastModifiedTime: "0001-01-01T00:00:00Z" 22 | -------------------------------------------------------------------------------- /pkg/resource/notebook_instance_lifecycle_config/testdata/v1alpha1/readone/observed/error_on_describe.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstanceLifecycleConfig 3 | metadata: 4 | creationTimestamp: null 5 | name: unit-testing-notebook-instance-lifecycle-config 6 | spec: 7 | notebookInstanceLifecycleConfigName: unit-testing-notebook-instance-lifecycle-config 8 | onCreate: 9 | - content: ZWNobyAiRW50ZXJpbmcgb25DcmVhdGUi 10 | onStart: 11 | - content: ZWNobyAiRW50ZXJpbmcgb25TdGFydCI= 12 | status: 13 | ackResourceMetadata: 14 | arn: arn:aws:sagemaker:us-west-2:123456789012:notebook-instance-lifecycle-config/unit-testing-notebook-instance-lifecycle-config 15 | ownerAccountID: "" 16 | region: "" 17 | conditions: 18 | - status: "True" 19 | type: ACK.ResourceSynced 20 | - message: "ServiceUnavailable: Server is down\n\tstatus code: 0, request id: " 21 | status: "True" 22 | type: ACK.Recoverable 23 | creationTime: null 24 | -------------------------------------------------------------------------------- /pkg/resource/notebook_instance_lifecycle_config/testdata/v1alpha1/update/desired/update_common.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstanceLifecycleConfig 3 | metadata: 4 | name: unit-testing-notebook-instance-lifecycle-config 5 | spec: 6 | notebookInstanceLifecycleConfigName: unit-testing-notebook-instance-lifecycle-config 7 | onStart: 8 | - content: cGlwIGluc3RhbGwgc2l4 9 | onCreate: 10 | - content: dGVzdGluZyB1cGRhdGU= -------------------------------------------------------------------------------- /pkg/resource/notebook_instance_lifecycle_config/testdata/v1alpha1/update/observed/error_on_update.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstanceLifecycleConfig 3 | metadata: 4 | creationTimestamp: null 5 | name: unit-testing-notebook-instance-lifecycle-config 6 | spec: 7 | notebookInstanceLifecycleConfigName: unit-testing-notebook-instance-lifecycle-config 8 | onCreate: 9 | - content: ZWNobyAiRW50ZXJpbmcgb25DcmVhdGUi 10 | onStart: 11 | - content: ZWNobyAiRW50ZXJpbmcgb25TdGFydCI= 12 | status: 13 | ackResourceMetadata: 14 | arn: arn:aws:sagemaker:us-west-2:123456789012:notebook-instance-lifecycle-config/unit-testing-notebook-instance-lifecycle-config 15 | ownerAccountID: "" 16 | region: "" 17 | conditions: 18 | - status: "True" 19 | type: ACK.ResourceSynced 20 | - message: "ServiceUnavailable: Server is down\n\tstatus code: 0, request id: " 21 | status: "True" 22 | type: ACK.Recoverable 23 | creationTime: null 24 | -------------------------------------------------------------------------------- /pkg/resource/notebook_instance_lifecycle_config/testdata/v1alpha1/update/observed/update_attempted_success.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstanceLifecycleConfig 3 | metadata: 4 | creationTimestamp: null 5 | name: unit-testing-notebook-instance-lifecycle-config 6 | spec: 7 | notebookInstanceLifecycleConfigName: unit-testing-notebook-instance-lifecycle-config 8 | onCreate: 9 | - content: dGVzdGluZyB1cGRhdGU= 10 | onStart: 11 | - content: cGlwIGluc3RhbGwgc2l4 12 | status: 13 | ackResourceMetadata: 14 | ownerAccountID: "" 15 | region: "" 16 | conditions: 17 | - message: NotebookInstanceLifecycleConfig is updating. 18 | status: "True" 19 | type: ACK.Recoverable 20 | -------------------------------------------------------------------------------- /pkg/resource/pipeline/testdata/sdkapi/create/create_success.json: -------------------------------------------------------------------------------- 1 | { 2 | "PipelineArn": "arn:aws:sagemaker:us-west-2:123456789012:pipeline/test-pipeline" 3 | } -------------------------------------------------------------------------------- /pkg/resource/pipeline_execution/testdata/sdkapi/create/create_success.json: -------------------------------------------------------------------------------- 1 | { 2 | "PipelineExecutionArn": "arn:aws:sagemaker:us-west-2:13456789:pipeline/test-pipeline/execution/tufkd9rv07w2" 3 | } -------------------------------------------------------------------------------- /pkg/resource/pipeline_execution/testdata/sdkapi/describe/describe_executing.json: -------------------------------------------------------------------------------- 1 | { 2 | "PipelineArn": "arn:aws:sagemaker:us-west-2:123456789:pipeline/test-pipeline", 3 | "PipelineExecutionArn": "arn:aws:sagemaker:us-west-2:123456789:pipeline/test-pipeline/execution/tufkd9rv07w2", 4 | "PipelineExecutionDisplayName": "test-pipeline-execution", 5 | "PipelineExecutionStatus": "Executing", 6 | "PipelineExecutionDescription": "test", 7 | "PipelineExperimentConfig": { 8 | "ExperimentName": "test-pipeline", 9 | "TrialName": "mf7dqcqqsnlp" 10 | }, 11 | "CreationTime": "2022-10-06T23:39:45.629000-07:00", 12 | "LastModifiedTime": "2022-10-06T23:54:11.086000-07:00", 13 | "CreatedBy": {}, 14 | "LastModifiedBy": {} 15 | } -------------------------------------------------------------------------------- /pkg/resource/pipeline_execution/testdata/sdkapi/describe/describe_stopping.json: -------------------------------------------------------------------------------- 1 | { 2 | "PipelineArn": "arn:aws:sagemaker:us-west-2:123456789:pipeline/test-pipeline", 3 | "PipelineExecutionArn": "arn:aws:sagemaker:us-west-2:123456789:pipeline/test-pipeline/execution/tufkd9rv07w2", 4 | "PipelineExecutionDisplayName": "test-pipeline-execution", 5 | "PipelineExecutionStatus": "Stopping", 6 | "PipelineExecutionDescription": "test", 7 | "PipelineExperimentConfig": { 8 | "ExperimentName": "test-pipeline", 9 | "TrialName": "mf7dqcqqsnlp" 10 | }, 11 | "CreationTime": "2022-10-06T23:39:45.629000-07:00", 12 | "LastModifiedTime": "2022-10-06T23:54:11.086000-07:00", 13 | "CreatedBy": {}, 14 | "LastModifiedBy": {} 15 | } -------------------------------------------------------------------------------- /pkg/resource/pipeline_execution/testdata/sdkapi/describe/describe_succeeded.json: -------------------------------------------------------------------------------- 1 | { 2 | "PipelineArn": "arn:aws:sagemaker:us-west-2:123456789:pipeline/test-pipeline", 3 | "PipelineExecutionArn": "arn:aws:sagemaker:us-west-2:123456789:pipeline/test-pipeline/execution/tufkd9rv07w2", 4 | "PipelineExecutionDisplayName": "test-pipeline-execution", 5 | "PipelineExecutionStatus": "Succeeded", 6 | "PipelineExecutionDescription": "test", 7 | "PipelineExperimentConfig": { 8 | "ExperimentName": "test-pipeline", 9 | "TrialName": "mf7dqcqqsnlp" 10 | }, 11 | "CreationTime": "2022-10-06T23:39:45.629000-07:00", 12 | "LastModifiedTime": "2022-10-06T23:54:11.086000-07:00", 13 | "CreatedBy": {}, 14 | "LastModifiedBy": {} 15 | } -------------------------------------------------------------------------------- /pkg/resource/pipeline_execution/testdata/v1alpha1/create/desired/invalid_before_create.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: PipelineExecution 3 | metadata: 4 | name: test-pipeline-execution 5 | spec: 6 | pipelineExecutionDisplayName: test-pipeline-execution 7 | pipelineExecutionDescription: test 8 | pipelineName: test-pipeline$ 9 | pipelineParameters: 10 | - name: AccuracyMseThreshold 11 | value: "1.0" 12 | parallelismConfiguration: 13 | maxParallelExecutionSteps: 2 -------------------------------------------------------------------------------- /pkg/resource/pipeline_execution/testdata/v1alpha1/create/desired/success_before_create.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: PipelineExecution 3 | metadata: 4 | name: test-pipeline-execution 5 | spec: 6 | pipelineExecutionDisplayName: test-pipeline-execution 7 | pipelineExecutionDescription: test 8 | pipelineName: test-pipeline 9 | pipelineParameters: 10 | - name: AccuracyMseThreshold 11 | value: "1.0" 12 | parallelismConfiguration: 13 | maxParallelExecutionSteps: 2 -------------------------------------------------------------------------------- /pkg/resource/pipeline_execution/testdata/v1alpha1/create/observed/invalid_create_attempted.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | 3 | kind: PipelineExecution 4 | metadata: 5 | creationTimestamp: null 6 | name: test-pipeline-execution 7 | spec: 8 | parallelismConfiguration: 9 | maxParallelExecutionSteps: 2 10 | pipelineExecutionDescription: test 11 | pipelineExecutionDisplayName: test-pipeline-execution 12 | pipelineName: test-pipeline$ 13 | pipelineParameters: 14 | - name: AccuracyMseThreshold 15 | value: "1.0" 16 | status: 17 | ackResourceMetadata: 18 | ownerAccountID: "" 19 | region: "" 20 | conditions: 21 | - message: "InvalidParameterValue: The Pipeline name must not include a special 22 | character.\n\tstatus code: 0, request id: " 23 | status: "True" 24 | type: ACK.Terminal -------------------------------------------------------------------------------- /pkg/resource/pipeline_execution/testdata/v1alpha1/create/observed/success_after_create.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: PipelineExecution 3 | metadata: 4 | creationTimestamp: null 5 | name: test-pipeline-execution 6 | spec: 7 | parallelismConfiguration: 8 | maxParallelExecutionSteps: 2 9 | pipelineExecutionDescription: test 10 | pipelineExecutionDisplayName: test-pipeline-execution 11 | pipelineName: test-pipeline 12 | pipelineParameters: 13 | - name: AccuracyMseThreshold 14 | value: "1.0" 15 | status: 16 | ackResourceMetadata: 17 | arn: arn:aws:sagemaker:us-west-2:13456789:pipeline/test-pipeline/execution/tufkd9rv07w2 18 | ownerAccountID: "" 19 | region: "" 20 | conditions: 21 | - status: "True" 22 | type: ACK.ResourceSynced -------------------------------------------------------------------------------- /pkg/resource/pipeline_execution/testdata/v1alpha1/delete/observed/error_on_delete.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: PipelineExecution 3 | metadata: 4 | creationTimestamp: null 5 | name: test-pipeline-execution 6 | spec: 7 | parallelismConfiguration: 8 | maxParallelExecutionSteps: 2 9 | pipelineExecutionDescription: test 10 | pipelineExecutionDisplayName: test-pipeline-execution 11 | pipelineName: test-pipeline 12 | pipelineParameters: 13 | - name: AccuracyMseThreshold 14 | value: "1.0" 15 | status: 16 | ackResourceMetadata: 17 | arn: arn:aws:sagemaker:us-west-2:13456789:pipeline/test-pipeline/execution/tufkd9rv07w2 18 | ownerAccountID: "" 19 | region: "" 20 | conditions: 21 | - status: "True" 22 | type: ACK.ResourceSynced 23 | - message: "ServiceUnavailable: Server is down\n\tstatus code: 0, request id: " 24 | status: "True" 25 | type: ACK.Recoverable -------------------------------------------------------------------------------- /pkg/resource/pipeline_execution/testdata/v1alpha1/delete/observed/not_found_on_delete.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: PipelineExecution 3 | metadata: 4 | creationTimestamp: null 5 | name: test-pipeline-execution 6 | spec: 7 | parallelismConfiguration: 8 | maxParallelExecutionSteps: 2 9 | pipelineExecutionDescription: test 10 | pipelineExecutionDisplayName: test-pipeline-execution 11 | pipelineName: test-pipeline 12 | pipelineParameters: 13 | - name: AccuracyMseThreshold 14 | value: "1.0" 15 | status: 16 | ackResourceMetadata: 17 | ownerAccountID: "" 18 | region: "" 19 | conditions: 20 | - message: "ResourceNotFound: does not exist\n\tstatus code: 0, request id: " 21 | status: "True" 22 | type: ACK.Terminal -------------------------------------------------------------------------------- /pkg/resource/pipeline_execution/testdata/v1alpha1/readone/desired/error_conditions_true.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: PipelineExecution 3 | metadata: 4 | creationTimestamp: null 5 | name: test-pipeline-execution 6 | spec: 7 | parallelismConfiguration: 8 | maxParallelExecutionSteps: 2 9 | pipelineExecutionDescription: test 10 | pipelineExecutionDisplayName: test-pipeline-execution 11 | pipelineName: test-pipeline 12 | pipelineParameters: 13 | - name: AccuracyMseThreshold 14 | value: "1.0" 15 | status: 16 | ackResourceMetadata: 17 | ownerAccountID: "" 18 | region: "" 19 | conditions: 20 | - message: "InvalidParameterValue: The Pipeline name must not include a special 21 | character.\n\tstatus code: 0, request id: " 22 | status: "True" 23 | type: ACK.Terminal -------------------------------------------------------------------------------- /pkg/resource/pipeline_execution/testdata/v1alpha1/readone/desired/invalid.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: PipelineExecution 3 | metadata: 4 | creationTimestamp: null 5 | name: test-pipeline-execution 6 | spec: 7 | parallelismConfiguration: 8 | maxParallelExecutionSteps: 2 9 | pipelineExecutionDescription: test 10 | pipelineExecutionDisplayName: test-pipeline-execution$ 11 | pipelineName: test-pipeline 12 | pipelineParameters: 13 | - name: AccuracyMseThreshold 14 | value: "1.0" 15 | status: 16 | ackResourceMetadata: 17 | ownerAccountID: "" 18 | region: "" 19 | conditions: 20 | - message: "InvalidParameterValue: The Pipeline Execution Display name must not include a special 21 | character.\n\tstatus code: 0, request id: " 22 | status: "True" 23 | type: ACK.Terminal -------------------------------------------------------------------------------- /pkg/resource/pipeline_execution/testdata/v1alpha1/readone/desired/missing_required_field.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: PipelineExecution 3 | metadata: 4 | name: test-pipeline-execution 5 | spec: 6 | pipelineExecutionDisplayName: test-pipeline-execution 7 | pipelineExecutionDescription: test 8 | # pipelineName field is empty 9 | pipelineParameters: 10 | - name: AccuracyMseThreshold 11 | value: "1.0" 12 | parallelismConfiguration: 13 | maxParallelExecutionSteps: 2 -------------------------------------------------------------------------------- /pkg/resource/pipeline_execution/testdata/v1alpha1/readone/desired/stopping.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: PipelineExecution 3 | metadata: 4 | creationTimestamp: null 5 | name: test-pipeline-execution 6 | spec: 7 | pipelineExecutionDescription: test 8 | pipelineExecutionDisplayName: test-pipeline-execution 9 | pipelineName: test-pipeline 10 | pipelineParameters: 11 | - name: AccuracyMseThreshold 12 | value: "1.0" 13 | status: 14 | ackResourceMetadata: 15 | arn: arn:aws:sagemaker:us-west-2:123456789:pipeline/test-pipeline/execution/tufkd9rv07w2 16 | ownerAccountID: "" 17 | region: "" 18 | conditions: 19 | - lastTransitionTime: "2022-12-07T04:14:19Z" 20 | message: PipelineExecution is in Stopping status. 21 | status: "False" 22 | type: ACK.ResourceSynced 23 | creationTime: "2022-10-07T06:39:45Z" 24 | lastModifiedTime: "2022-10-07T06:54:11Z" 25 | pipelineExecutionStatus: Stopping -------------------------------------------------------------------------------- /pkg/resource/pipeline_execution/testdata/v1alpha1/readone/observed/conditions_clear_on_success.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: PipelineExecution 3 | metadata: 4 | creationTimestamp: null 5 | name: test-pipeline-execution 6 | spec: 7 | parallelismConfiguration: 8 | maxParallelExecutionSteps: 2 9 | pipelineExecutionDescription: test 10 | pipelineExecutionDisplayName: test-pipeline-execution 11 | pipelineName: test-pipeline 12 | pipelineParameters: 13 | - name: AccuracyMseThreshold 14 | value: "1.0" 15 | status: 16 | ackResourceMetadata: 17 | ownerAccountID: "" 18 | region: "" 19 | conditions: 20 | - status: "False" 21 | type: ACK.Terminal 22 | - message: resource not found 23 | status: "True" 24 | type: ACK.Recoverable 25 | -------------------------------------------------------------------------------- /pkg/resource/pipeline_execution/testdata/v1alpha1/readone/observed/created.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: PipelineExecution 3 | metadata: 4 | creationTimestamp: null 5 | name: test-pipeline-execution 6 | spec: 7 | pipelineExecutionDescription: test 8 | pipelineExecutionDisplayName: test-pipeline-execution 9 | pipelineName: test-pipeline 10 | pipelineParameters: 11 | - name: AccuracyMseThreshold 12 | value: "1.0" 13 | status: 14 | ackResourceMetadata: 15 | arn: arn:aws:sagemaker:us-west-2:123456789:pipeline/test-pipeline/execution/tufkd9rv07w2 16 | ownerAccountID: "" 17 | region: "" 18 | conditions: 19 | - lastTransitionTime: "2022-12-07T04:14:19Z" 20 | message: PipelineExecution is in Executing status. 21 | status: "False" 22 | type: ACK.ResourceSynced 23 | creationTime: "2022-10-07T06:39:45Z" 24 | lastModifiedTime: "2022-10-07T06:54:11Z" 25 | pipelineExecutionStatus: Executing -------------------------------------------------------------------------------- /pkg/resource/pipeline_execution/testdata/v1alpha1/readone/observed/error_on_describe.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: PipelineExecution 3 | metadata: 4 | creationTimestamp: null 5 | name: test-pipeline-execution 6 | spec: 7 | parallelismConfiguration: 8 | maxParallelExecutionSteps: 2 9 | pipelineExecutionDescription: test 10 | pipelineExecutionDisplayName: test-pipeline-execution 11 | pipelineName: test-pipeline 12 | pipelineParameters: 13 | - name: AccuracyMseThreshold 14 | value: "1.0" 15 | status: 16 | ackResourceMetadata: 17 | arn: arn:aws:sagemaker:us-west-2:13456789:pipeline/test-pipeline/execution/tufkd9rv07w2 18 | ownerAccountID: "" 19 | region: "" 20 | conditions: 21 | - status: "True" 22 | type: ACK.ResourceSynced 23 | - message: "ServiceUnavailable: Server is down\n\tstatus code: 0, request id: " 24 | status: "True" 25 | type: ACK.Recoverable -------------------------------------------------------------------------------- /pkg/resource/pipeline_execution/testdata/v1alpha1/readone/observed/stopping.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: PipelineExecution 3 | metadata: 4 | creationTimestamp: null 5 | name: test-pipeline-execution 6 | spec: 7 | pipelineExecutionDescription: test 8 | pipelineExecutionDisplayName: test-pipeline-execution 9 | pipelineName: test-pipeline 10 | pipelineParameters: 11 | - name: AccuracyMseThreshold 12 | value: "1.0" 13 | status: 14 | ackResourceMetadata: 15 | arn: arn:aws:sagemaker:us-west-2:123456789:pipeline/test-pipeline/execution/tufkd9rv07w2 16 | ownerAccountID: "" 17 | region: "" 18 | conditions: 19 | - lastTransitionTime: "2022-12-07T04:56:54Z" 20 | message: PipelineExecution is in Stopping status. 21 | status: "False" 22 | type: ACK.ResourceSynced 23 | creationTime: "2022-10-07T06:39:45Z" 24 | lastModifiedTime: "2022-10-07T06:54:11Z" 25 | pipelineExecutionStatus: Stopping -------------------------------------------------------------------------------- /pkg/resource/pipeline_execution/testdata/v1alpha1/readone/observed/succeeded.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: PipelineExecution 3 | metadata: 4 | creationTimestamp: null 5 | name: test-pipeline-execution 6 | spec: 7 | pipelineExecutionDescription: test 8 | pipelineExecutionDisplayName: test-pipeline-execution 9 | pipelineName: test-pipeline 10 | pipelineParameters: 11 | - name: AccuracyMseThreshold 12 | value: "1.0" 13 | status: 14 | ackResourceMetadata: 15 | arn: arn:aws:sagemaker:us-west-2:123456789:pipeline/test-pipeline/execution/tufkd9rv07w2 16 | ownerAccountID: "" 17 | region: "" 18 | conditions: 19 | - lastTransitionTime: "2022-12-07T04:54:30Z" 20 | message: PipelineExecution is in Succeeded status. 21 | status: "True" 22 | type: ACK.ResourceSynced 23 | creationTime: "2022-10-07T06:39:45Z" 24 | lastModifiedTime: "2022-10-07T06:54:11Z" 25 | pipelineExecutionStatus: Succeeded 26 | -------------------------------------------------------------------------------- /pkg/resource/pipeline_execution/testdata/v1alpha1/update/desired/update_pipeline_execution.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: PipelineExecution 3 | metadata: 4 | creationTimestamp: null 5 | name: test-pipeline-execution 6 | spec: 7 | pipelineExecutionDescription: test-updated 8 | pipelineExecutionDisplayName: test-pipeline-execution 9 | pipelineName: test-pipeline 10 | pipelineParameters: 11 | - name: AccuracyMseThreshold 12 | value: "1.0" 13 | status: 14 | ackResourceMetadata: 15 | arn: arn:aws:sagemaker:us-west-2:123456789:pipeline/test-pipeline/execution/tufkd9rv07w2 16 | ownerAccountID: "" 17 | region: "" 18 | conditions: 19 | - lastTransitionTime: "2022-12-07T04:14:19Z" 20 | message: PipelineExecution is in Executing status. 21 | status: "False" 22 | type: ACK.ResourceSynced 23 | creationTime: "2022-10-07T06:39:45Z" 24 | lastModifiedTime: "2022-10-07T06:54:11Z" 25 | pipelineExecutionStatus: Executing -------------------------------------------------------------------------------- /pkg/resource/pipeline_execution/testdata/v1alpha1/update/observed/updated_pipeline_execution.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: PipelineExecution 3 | metadata: 4 | creationTimestamp: null 5 | name: test-pipeline-execution 6 | spec: 7 | pipelineExecutionDescription: test-updated 8 | pipelineExecutionDisplayName: test-pipeline-execution 9 | pipelineName: test-pipeline 10 | pipelineParameters: 11 | - name: AccuracyMseThreshold 12 | value: "1.0" 13 | status: 14 | ackResourceMetadata: 15 | arn: arn:aws:sagemaker:us-west-2:13456789:pipeline/test-pipeline/execution/tufkd9rv07w2 16 | ownerAccountID: "" 17 | region: "" 18 | conditions: 19 | - lastTransitionTime: "2022-12-07T04:59:34Z" 20 | message: PipelineExecution is in Executing status. 21 | status: "False" 22 | type: ACK.ResourceSynced 23 | creationTime: "2022-10-07T06:39:45Z" 24 | lastModifiedTime: "2022-10-07T06:54:11Z" 25 | pipelineExecutionStatus: Executing 26 | -------------------------------------------------------------------------------- /pkg/resource/processing_job/testdata/sdkapi/create/success_create.json: -------------------------------------------------------------------------------- 1 | { 2 | "ProcessingJobArn": "arn:aws:sagemaker:us-west-2:123456789012:processing-job/unit-testing-processing-job" 3 | } -------------------------------------------------------------------------------- /pkg/resource/training_job/testdata/sdkapi/create/success_create.json: -------------------------------------------------------------------------------- 1 | { 2 | "TrainingJobArn": "arn:aws:sagemaker:us-west-2:123456789012:training-job/xgboost-training-job" 3 | } -------------------------------------------------------------------------------- /pkg/resource/training_job/testdata/sdkapi/update/update_success.json: -------------------------------------------------------------------------------- 1 | { 2 | "TrainingJobArn": "arn:aws:sagemaker:us-west-2:123456789012:training-job/training-test" 3 | } -------------------------------------------------------------------------------- /pkg/resource/transform_job/testdata/sdkapi/create/success_create.json: -------------------------------------------------------------------------------- 1 | { 2 | "TransformJobArn": "arn:aws:sagemaker:us-west-2:123456789012:transform-job/xgboost-transform-job" 3 | } -------------------------------------------------------------------------------- /pkg/resource/transform_job/testdata/v1alpha1/create/desired/invalid_before_create.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: TransformJob 3 | metadata: 4 | name: unit-testing-transform-job 5 | spec: 6 | transformJobName: intentionally@invalid-name 7 | modelName: xgboost-churn-config-model 8 | transformInput: 9 | contentType: text/csv 10 | dataSource: 11 | s3DataSource: 12 | s3DataType: S3Prefix 13 | s3URI: s3://source-data-bucket-592697580195-us-west-2/sagemaker/batch/input-data 14 | transformOutput: 15 | s3OutputPath: s3://source-data-bucket-592697580195-us-west-2/sagemaker/batch/output 16 | transformResources: 17 | instanceCount: 1 18 | instanceType: ml.m5.large 19 | tags: 20 | - key: algorithm 21 | value: xgboost 22 | - key: environment 23 | value: testing 24 | - key: customer 25 | value: test-user 26 | -------------------------------------------------------------------------------- /pkg/resource/transform_job/testdata/v1alpha1/create/desired/success_before_create.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: TransformJob 3 | metadata: 4 | name: unit-testing-transform-job 5 | spec: 6 | transformJobName: xgboost-transform-job 7 | modelName: xgboost-churn-config-model 8 | transformInput: 9 | contentType: text/csv 10 | dataSource: 11 | s3DataSource: 12 | s3DataType: S3Prefix 13 | s3URI: s3://source-data-bucket-592697580195-us-west-2/sagemaker/batch/input-data 14 | transformOutput: 15 | s3OutputPath: s3://source-data-bucket-592697580195-us-west-2/sagemaker/batch/output 16 | transformResources: 17 | instanceCount: 1 18 | instanceType: ml.m5.large 19 | tags: 20 | - key: algorithm 21 | value: xgboost 22 | - key: environment 23 | value: testing 24 | - key: customer 25 | value: test-user 26 | -------------------------------------------------------------------------------- /pkg/resource/transform_job/testdata/v1alpha1/readone/desired/missing_required_field.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: TransformJob 3 | metadata: 4 | name: unit-testing-transform-job 5 | spec: 6 | # Missing transform job name 7 | modelName: xgboost-churn-config-model 8 | transformInput: 9 | contentType: text/csv 10 | dataSource: 11 | s3DataSource: 12 | s3DataType: S3Prefix 13 | s3URI: s3://source-data-bucket-592697580195-us-west-2/sagemaker/batch/input-data 14 | transformOutput: 15 | s3OutputPath: s3://source-data-bucket-592697580195-us-west-2/sagemaker/batch/output 16 | transformResources: 17 | instanceCount: 1 18 | instanceType: ml.m5.large 19 | tags: 20 | - key: algorithm 21 | value: xgboost 22 | - key: environment 23 | value: testing 24 | - key: customer 25 | value: test-user 26 | -------------------------------------------------------------------------------- /pkg/version/version.go: -------------------------------------------------------------------------------- 1 | // Copyright Amazon.com Inc. or its affiliates. All Rights Reserved. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"). You may 4 | // not use this file except in compliance with the License. A copy of the 5 | // License is located at 6 | // 7 | // http://aws.amazon.com/apache2.0/ 8 | // 9 | // or in the "license" file accompanying this file. This file is distributed 10 | // on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 11 | // express or implied. See the License for the specific language governing 12 | // permissions and limitations under the License. 13 | 14 | // Code generated by ack-generate. DO NOT EDIT. 15 | 16 | package version 17 | 18 | var ( 19 | GitVersion string 20 | GitCommit string 21 | BuildDate string 22 | ) 23 | -------------------------------------------------------------------------------- /samples/batch_transform/my-batch-transform-job.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: TransformJob 3 | metadata: 4 | name: 5 | spec: 6 | # Name that will appear in SageMaker console 7 | transformJobName: 8 | # Name of your model in SageMaker 9 | modelName: 10 | transformInput: 11 | contentType: text/csv 12 | dataSource: 13 | s3DataSource: 14 | s3DataType: S3Prefix 15 | # The source of the transform data 16 | s3URI: s3:// 17 | transformOutput: 18 | # The output path of our transform 19 | s3OutputPath: s3:// 20 | transformResources: 21 | instanceCount: 1 22 | instanceType: ml.m4.xlarge -------------------------------------------------------------------------------- /samples/endpoint/endpoint_base.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: Endpoint 3 | metadata: 4 | name: 5 | spec: 6 | endpointName: 7 | # Must already exist in SageMaker 8 | endpointConfigName: -------------------------------------------------------------------------------- /samples/endpoint/endpoint_config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: EndpointConfig 3 | metadata: 4 | name: 5 | spec: 6 | endpointConfigName: 7 | productionVariants: 8 | # Name of Model created in Sagemaker 9 | - modelName: 10 | variantName: AllTraffic 11 | instanceType: ml.c5.large 12 | initialVariantWeight: 1 13 | initialInstanceCount: 1 14 | # OPTIONAL To enable this endpoint to capture data from bias/quality/explainability dataCapture is required 15 | dataCaptureConfig: 16 | enableCapture: true # 17 | destinationS3URI: s3:///sagemaker/endpoint_config/datacapture 18 | initialSamplingPercentage: 100 19 | captureOptions: 20 | - captureMode: Input 21 | - captureMode: Output 22 | captureContentTypeHeader: 23 | csvContentTypes: 24 | - "text/csv" 25 | jsonContentTypes: 26 | - "application/json" -------------------------------------------------------------------------------- /samples/feature_group/my-feature-group.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: FeatureGroup 3 | metadata: 4 | name: 5 | spec: 6 | eventTimeFeatureName: EventTime 7 | featureDefinitions: 8 | - featureName: TransactionID 9 | featureType: Integral 10 | - featureName: EventTime 11 | featureType: Fractional 12 | featureGroupName: 13 | recordIdentifierFeatureName: TransactionID 14 | offlineStoreConfig: 15 | s3StorageConfig: 16 | s3URI: s3:///feature-group-data 17 | onlineStoreConfig: 18 | enableOnlineStore: True 19 | roleARN: 20 | -------------------------------------------------------------------------------- /samples/feature_group/my-sample-data.csv: -------------------------------------------------------------------------------- 1 | TransactionID,EventTime 2 | 1,1623434915 3 | 2,1623435267 4 | 3,1623435284 5 | -------------------------------------------------------------------------------- /samples/labeling/class_labels.json: -------------------------------------------------------------------------------- 1 | {"labels": [{"label": "DHL"}, {"label": "McDonalds"}, {"label": "RedBull"}]} -------------------------------------------------------------------------------- /samples/labeling/images/115519078.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-controllers-k8s/sagemaker-controller/acd7540660fb54d1bedd1b3c6d39cdb843db8aa6/samples/labeling/images/115519078.jpg -------------------------------------------------------------------------------- /samples/labeling/images/133298345.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-controllers-k8s/sagemaker-controller/acd7540660fb54d1bedd1b3c6d39cdb843db8aa6/samples/labeling/images/133298345.jpg -------------------------------------------------------------------------------- /samples/labeling/images/1358914296.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-controllers-k8s/sagemaker-controller/acd7540660fb54d1bedd1b3c6d39cdb843db8aa6/samples/labeling/images/1358914296.jpg -------------------------------------------------------------------------------- /samples/labeling/images/142479250.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-controllers-k8s/sagemaker-controller/acd7540660fb54d1bedd1b3c6d39cdb843db8aa6/samples/labeling/images/142479250.jpg -------------------------------------------------------------------------------- /samples/labeling/images/1508285598.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-controllers-k8s/sagemaker-controller/acd7540660fb54d1bedd1b3c6d39cdb843db8aa6/samples/labeling/images/1508285598.jpg -------------------------------------------------------------------------------- /samples/labeling/images/159166596.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-controllers-k8s/sagemaker-controller/acd7540660fb54d1bedd1b3c6d39cdb843db8aa6/samples/labeling/images/159166596.jpg -------------------------------------------------------------------------------- /samples/labeling/images/162002009.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-controllers-k8s/sagemaker-controller/acd7540660fb54d1bedd1b3c6d39cdb843db8aa6/samples/labeling/images/162002009.jpg -------------------------------------------------------------------------------- /samples/labeling/images/2073826793.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-controllers-k8s/sagemaker-controller/acd7540660fb54d1bedd1b3c6d39cdb843db8aa6/samples/labeling/images/2073826793.jpg -------------------------------------------------------------------------------- /samples/labeling/images/212161092.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-controllers-k8s/sagemaker-controller/acd7540660fb54d1bedd1b3c6d39cdb843db8aa6/samples/labeling/images/212161092.jpg -------------------------------------------------------------------------------- /samples/labeling/images/2246298716.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-controllers-k8s/sagemaker-controller/acd7540660fb54d1bedd1b3c6d39cdb843db8aa6/samples/labeling/images/2246298716.jpg -------------------------------------------------------------------------------- /samples/labeling/images/239985057.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-controllers-k8s/sagemaker-controller/acd7540660fb54d1bedd1b3c6d39cdb843db8aa6/samples/labeling/images/239985057.jpg -------------------------------------------------------------------------------- /samples/labeling/images/2463686290.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-controllers-k8s/sagemaker-controller/acd7540660fb54d1bedd1b3c6d39cdb843db8aa6/samples/labeling/images/2463686290.jpg -------------------------------------------------------------------------------- /samples/labeling/images/260863506.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-controllers-k8s/sagemaker-controller/acd7540660fb54d1bedd1b3c6d39cdb843db8aa6/samples/labeling/images/260863506.jpg -------------------------------------------------------------------------------- /samples/labeling/images/2650126854.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-controllers-k8s/sagemaker-controller/acd7540660fb54d1bedd1b3c6d39cdb843db8aa6/samples/labeling/images/2650126854.jpg -------------------------------------------------------------------------------- /samples/labeling/images/2677577557.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-controllers-k8s/sagemaker-controller/acd7540660fb54d1bedd1b3c6d39cdb843db8aa6/samples/labeling/images/2677577557.jpg -------------------------------------------------------------------------------- /samples/labeling/images/2792076321.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-controllers-k8s/sagemaker-controller/acd7540660fb54d1bedd1b3c6d39cdb843db8aa6/samples/labeling/images/2792076321.jpg -------------------------------------------------------------------------------- /samples/labeling/images/2887641700.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-controllers-k8s/sagemaker-controller/acd7540660fb54d1bedd1b3c6d39cdb843db8aa6/samples/labeling/images/2887641700.jpg -------------------------------------------------------------------------------- /samples/labeling/images/2941703909.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-controllers-k8s/sagemaker-controller/acd7540660fb54d1bedd1b3c6d39cdb843db8aa6/samples/labeling/images/2941703909.jpg -------------------------------------------------------------------------------- /samples/labeling/images/3101502490.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-controllers-k8s/sagemaker-controller/acd7540660fb54d1bedd1b3c6d39cdb843db8aa6/samples/labeling/images/3101502490.jpg -------------------------------------------------------------------------------- /samples/labeling/images/321721915.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-controllers-k8s/sagemaker-controller/acd7540660fb54d1bedd1b3c6d39cdb843db8aa6/samples/labeling/images/321721915.jpg -------------------------------------------------------------------------------- /samples/labeling/images/3274818430.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-controllers-k8s/sagemaker-controller/acd7540660fb54d1bedd1b3c6d39cdb843db8aa6/samples/labeling/images/3274818430.jpg -------------------------------------------------------------------------------- /samples/labeling/images/3373561589.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-controllers-k8s/sagemaker-controller/acd7540660fb54d1bedd1b3c6d39cdb843db8aa6/samples/labeling/images/3373561589.jpg -------------------------------------------------------------------------------- /samples/labeling/images/3468967682.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-controllers-k8s/sagemaker-controller/acd7540660fb54d1bedd1b3c6d39cdb843db8aa6/samples/labeling/images/3468967682.jpg -------------------------------------------------------------------------------- /samples/labeling/images/3765988249.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-controllers-k8s/sagemaker-controller/acd7540660fb54d1bedd1b3c6d39cdb843db8aa6/samples/labeling/images/3765988249.jpg -------------------------------------------------------------------------------- /samples/labeling/images/3988463526.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-controllers-k8s/sagemaker-controller/acd7540660fb54d1bedd1b3c6d39cdb843db8aa6/samples/labeling/images/3988463526.jpg -------------------------------------------------------------------------------- /samples/labeling/images/4273898682.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-controllers-k8s/sagemaker-controller/acd7540660fb54d1bedd1b3c6d39cdb843db8aa6/samples/labeling/images/4273898682.jpg -------------------------------------------------------------------------------- /samples/labeling/images/436255718.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-controllers-k8s/sagemaker-controller/acd7540660fb54d1bedd1b3c6d39cdb843db8aa6/samples/labeling/images/436255718.jpg -------------------------------------------------------------------------------- /samples/labeling/images/4707086638.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-controllers-k8s/sagemaker-controller/acd7540660fb54d1bedd1b3c6d39cdb843db8aa6/samples/labeling/images/4707086638.jpg -------------------------------------------------------------------------------- /samples/labeling/images/4764653103.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-controllers-k8s/sagemaker-controller/acd7540660fb54d1bedd1b3c6d39cdb843db8aa6/samples/labeling/images/4764653103.jpg -------------------------------------------------------------------------------- /samples/labeling/images/51660551.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-controllers-k8s/sagemaker-controller/acd7540660fb54d1bedd1b3c6d39cdb843db8aa6/samples/labeling/images/51660551.jpg -------------------------------------------------------------------------------- /samples/model/my-model.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: Model 3 | metadata: 4 | name: 5 | spec: 6 | modelName: 7 | primaryContainer: 8 | containerHostname: xgboost 9 | # The source of the model data 10 | modelDataURL: s3:///sagemaker/xgboost/model/xgb-churn-prediction-model.tar.gz 11 | # The URL and tag of your ECR container 12 | # If you are not on us-west-2 you can find an imageURI here https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-algo-docker-registry-paths.html 13 | image: 246618743249.dkr.ecr.us-west-2.amazonaws.com/sagemaker-xgboost:0.90-2-cpu-py3 14 | environment: 15 | my_var: my_value 16 | my_var2: my_value2 17 | # Example arn:aws:iam::1234567890:role/service-role/AmazonSageMaker-ExecutionRole 18 | executionRoleARN: -------------------------------------------------------------------------------- /samples/model_package/my-model-package.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: ModelPackage 3 | metadata: 4 | name: 5 | spec: 6 | modelPackageName: 7 | modelPackageDescription: "Description for model package" 8 | inferenceSpecification: 9 | containers: 10 | # The URL and tag of your ECR container 11 | # If you are not on us-west-2 you can find an imageURI here https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-algo-docker-registry-paths.html 12 | - image: 433757028032.dkr.ecr.us-west-2.amazonaws.com/xgboost:latest 13 | # The source of the model data 14 | modelDataURL: s3:// 15 | supportedContentTypes: 16 | - "text/csv" 17 | supportedResponseMIMETypes: 18 | - "text/csv" 19 | supportedTransformInstanceTypes: 20 | - "ml.m5.large" 21 | supportedRealtimeInferenceInstanceTypes: 22 | - "ml.m5.large" 23 | -------------------------------------------------------------------------------- /samples/model_package_group/my-model-package-group.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: ModelPackageGroup 3 | metadata: 4 | name: 5 | spec: 6 | modelPackageGroupName: 7 | modelPackageGroupDescription: "Description for model package group" -------------------------------------------------------------------------------- /samples/monitoring_schedule/my-monitoring-schedule.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: MonitoringSchedule 3 | metadata: 4 | name: 5 | spec: 6 | monitoringScheduleName: 7 | monitoringScheduleConfig: 8 | # example ModelBias 9 | monitoringType: 10 | # example Name of ModelBias Job Definition 11 | monitoringJobDefinitionName: 12 | scheduleConfig: 13 | scheduleExpression: "cron(0 * ? * * *)" -------------------------------------------------------------------------------- /samples/notebook_instance/my-notebook-instance.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstance 3 | metadata: 4 | name: 5 | spec: 6 | instanceType: ml.t2.medium 7 | notebookInstanceName: 8 | roleARN: 9 | volumeSizeInGB: 6 10 | directInternetAccess: Enabled 11 | rootAccess: Enabled -------------------------------------------------------------------------------- /samples/notebookinstance_lifecycle_config/my-notebookinstance_lifecycle_config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstanceLifecycleConfig 3 | metadata: 4 | name: 5 | spec: 6 | notebookInstanceLifecycleConfigName: 7 | onStart: 8 | - content: ZWNobyAiRW50ZXJpbmcgb25TdGFydCI= #Decodes to echo "Entering onStart" 9 | onCreate: 10 | - content: ZWNobyAiRW50ZXJpbmcgb25DcmVhdGUi #Decodes to echo "Entering onCreate" -------------------------------------------------------------------------------- /samples/pipeline/pipeline-execution.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: PipelineExecution 3 | metadata: 4 | name: my-kubernetes-pipeline-execution 5 | spec: 6 | parallelismConfiguration: 7 | maxParallelExecutionSteps: 2 8 | pipelineExecutionDescription: "My first pipeline execution via Amazon EKS cluster." 9 | pipelineName: my-kubernetes-pipeline 10 | -------------------------------------------------------------------------------- /samples/training/s3_sample_data.py: -------------------------------------------------------------------------------- 1 | import urllib.request 2 | from urllib.parse import urlparse 3 | import sys 4 | 5 | # Gets your bucket name from command line 6 | try: 7 | bucket = str(sys.argv[1]) 8 | except Exception as error: 9 | print("Please pass your bucket name as a commandline argument") 10 | sys.exit(1) 11 | 12 | # Download dataset from pinned commit 13 | url = "https://github.com/aws/amazon-sagemaker-examples/raw/af6667bd0be3c9cdec23fecda7f0be6d0e3fa3ea/sagemaker-debugger/xgboost_realtime_analysis/data_utils.py" 14 | urllib.request.urlretrieve(url, "data_utils.py") 15 | 16 | from data_utils import load_mnist, upload_to_s3 17 | 18 | prefix = "sagemaker/xgboost" 19 | train_file, validation_file = load_mnist() 20 | upload_to_s3(train_file, bucket, f"{prefix}/train/mnist.train.libsvm") 21 | upload_to_s3(validation_file, bucket, f"{prefix}/validation/mnist.validation.libsvm") 22 | 23 | # Remove downloaded file 24 | import os 25 | 26 | os.remove("data_utils.py") 27 | -------------------------------------------------------------------------------- /templates/app/sdk_delete_pre_build_request.go.tpl: -------------------------------------------------------------------------------- 1 | latestStatus := r.ko.Status.Status 2 | if latestStatus != nil && *latestStatus == string(svcsdktypes.AppStatusDeleted) { 3 | return nil, nil 4 | } 5 | 6 | if err = rm.requeueUntilCanModify(ctx, r); err != nil { 7 | return r, err 8 | } 9 | -------------------------------------------------------------------------------- /templates/common/sdk_delete_post_request.go.tpl: -------------------------------------------------------------------------------- 1 | 2 | if err == nil { 3 | if observed, err := rm.sdkFind(ctx, r); err != ackerr.NotFound { 4 | if err != nil { 5 | return nil, err 6 | } 7 | r.SetStatus(observed) 8 | return r, requeueWaitWhileDeleting 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /templates/common/sdk_delete_pre_build_request.go.tpl: -------------------------------------------------------------------------------- 1 | if err = rm.requeueUntilCanModify(ctx, r); err != nil { 2 | return r, err 3 | } 4 | -------------------------------------------------------------------------------- /templates/common/sdk_update_pre_build_request.go.tpl: -------------------------------------------------------------------------------- 1 | if err = rm.requeueUntilCanModify(ctx, latest); err != nil { 2 | return nil, err 3 | } -------------------------------------------------------------------------------- /templates/domain/sdk_create_post_set_output.go.tpl: -------------------------------------------------------------------------------- 1 | // Manually set the DomainID as Create only return the ARN 2 | if resp.DomainArn != nil && ko.Status.DomainID == nil { 3 | ko.Status.DomainID = &strings.Split(*resp.DomainArn, "/")[1] 4 | } 5 | -------------------------------------------------------------------------------- /templates/endpoint/sdk_update_pre_build_request.go.tpl: -------------------------------------------------------------------------------- 1 | if err = rm.requeueUntilCanModify(ctx, latest); err != nil { 2 | return nil, err 3 | } 4 | 5 | if err = rm.customUpdateEndpointPreChecks(ctx, desired, latest, delta); err != nil { 6 | return nil, err 7 | } 8 | -------------------------------------------------------------------------------- /templates/hyper_parameter_tuning_job/sdk_delete_pre_build_request.go.tpl: -------------------------------------------------------------------------------- 1 | latestStatus := r.ko.Status.HyperParameterTuningJobStatus 2 | if latestStatus != nil { 3 | if *latestStatus == string(svcsdktypes.HyperParameterTuningJobStatusStopping) { 4 | return r, requeueWaitWhileDeleting 5 | } 6 | 7 | // Call StopHyperParameterTuningJob only if the job is InProgress, otherwise just 8 | // return nil to mark the resource Unmanaged 9 | if *latestStatus != string(svcsdktypes.HyperParameterTuningJobStatusInProgress) { 10 | return r, err 11 | } 12 | } -------------------------------------------------------------------------------- /templates/inference_component/sdk_read_one_post_set_output.go.tpl: -------------------------------------------------------------------------------- 1 | // Manually set the RuntimeConfig.CopyCount from read response RuntimeConfig.DesiredCopyCount 2 | if resp.RuntimeConfig != nil && ko.Spec.RuntimeConfig != nil { 3 | desiredCountCopy := int64(*resp.RuntimeConfig.DesiredCopyCount) 4 | ko.Spec.RuntimeConfig.CopyCount = &desiredCountCopy 5 | } 6 | 7 | rm.customDescribeInferenceComponentSetOutput(ko) 8 | -------------------------------------------------------------------------------- /templates/inference_component/sdk_update_post_set_output.go.tpl: -------------------------------------------------------------------------------- 1 | if err = rm.customUpdateInferenceComponentSetOutput(ko); err != nil { 2 | return nil, err 3 | } -------------------------------------------------------------------------------- /templates/inference_component/sdk_update_pre_build_request.go.tpl: -------------------------------------------------------------------------------- 1 | if err = rm.requeueUntilCanModify(ctx, latest); err != nil { 2 | return nil, err 3 | } 4 | 5 | if err = rm.customUpdateInferenceComponentPreChecks(ctx, desired, latest, delta); err != nil { 6 | return nil, err 7 | } 8 | -------------------------------------------------------------------------------- /templates/labeling_job/sdk_delete_pre_build_request.go.tpl: -------------------------------------------------------------------------------- 1 | latestStatus := r.ko.Status.LabelingJobStatus 2 | if latestStatus != nil { 3 | if *latestStatus == string(svcsdktypes.LabelingJobStatusStopping) { 4 | return r, requeueWaitWhileDeleting 5 | } 6 | 7 | // Call StopLabelingJob only if the job is InProgress, otherwise just 8 | // return nil to mark the resource Unmanaged 9 | if *latestStatus != string(svcsdktypes.LabelingJobStatusInProgress) { 10 | return r, err 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /templates/model_package/set_resource_name_as_arn.go.tpl: -------------------------------------------------------------------------------- 1 | // If ModelPackageName not set after newRequestPayload, attempt to use ARN 2 | // This is because versioned modelpackage uses ARN not name 3 | if input.ModelPackageName == nil { 4 | arn := r.Identifiers().ARN() 5 | if arn == nil { 6 | return nil, ackerr.NotFound 7 | } 8 | input.ModelPackageName = aws.String(string(*arn)) 9 | } -------------------------------------------------------------------------------- /templates/notebook_instance/sdk_delete_pre_build_request.go.tpl: -------------------------------------------------------------------------------- 1 | if err = rm.requeueUntilCanModify(ctx, r); err != nil { 2 | return r, err 3 | } 4 | 5 | latestStatus := r.ko.Status.NotebookInstanceStatus 6 | 7 | if latestStatus != nil && 8 | *latestStatus == string(svcsdktypes.NotebookInstanceStatusInService) { 9 | if err := rm.stopNotebookInstance(ctx, r); err != nil { 10 | return nil, err 11 | } else { 12 | return r, requeueWaitWhileStopping 13 | } 14 | } -------------------------------------------------------------------------------- /templates/notebook_instance/sdk_read_one_post_set_output.go.tpl: -------------------------------------------------------------------------------- 1 | // NotebookInstanceLifecycleConfigName and SecurityGroups do not get generated by the code generator. 2 | // Because the field name in spec vs Describe response do not match 3 | if resp.NotebookInstanceLifecycleConfigName != nil { 4 | ko.Spec.LifecycleConfigName = resp.NotebookInstanceLifecycleConfigName 5 | } else { 6 | ko.Spec.LifecycleConfigName = nil 7 | } 8 | if resp.SecurityGroups != nil { 9 | ko.Spec.SecurityGroupIDs = aws.StringSlice(resp.SecurityGroups) 10 | } else { 11 | ko.Spec.SecurityGroupIDs = nil 12 | } 13 | err = rm.customSetOutputDescribe(ctx, &resource{ko}) 14 | if err != nil{ 15 | return nil, err 16 | } -------------------------------------------------------------------------------- /templates/notebook_instance/sdk_update_pre_build_request.go.tpl: -------------------------------------------------------------------------------- 1 | if err = rm.requeueUntilCanModify(ctx, latest); err != nil { 2 | return latest, err 3 | } 4 | 5 | latestStatus := latest.ko.Status.NotebookInstanceStatus 6 | // The Notebook Instance is stopped and the StoppedByControllerMetadata status is 7 | // set to UpdatePending. 8 | if latestStatus != nil && *latestStatus == string(svcsdktypes.NotebookInstanceStatusInService) { 9 | if err := rm.stopNotebookInstance(ctx, latest); err != nil { 10 | return nil, err 11 | } else { 12 | //TODO: Replace with annotations once rutime supports it. 13 | latest.ko.Status.StoppedByControllerMetadata = aws.String("UpdatePending") 14 | return latest, requeueWaitWhileStopping 15 | } 16 | } -------------------------------------------------------------------------------- /templates/notebook_instance_lifecycle_config/delta_post_compare.go.tpl: -------------------------------------------------------------------------------- 1 | delta = customDeltaOnCreate(delta, a, b) 2 | delta = customDeltaOnStart(delta, a, b) -------------------------------------------------------------------------------- /templates/notebook_instance_lifecycle_config/sdk_update_post_set_output.go.tpl: -------------------------------------------------------------------------------- 1 | //Done because controller finishes reconciling after update. 2 | return nil, requeueWaitWhileUpdating -------------------------------------------------------------------------------- /templates/pipeline_execution/sdk_delete_pre_build_request.go.tpl: -------------------------------------------------------------------------------- 1 | latestStatus := r.ko.Status.PipelineExecutionStatus 2 | if latestStatus != nil { 3 | if *latestStatus == string(svcsdktypes.PipelineExecutionStatusStopping) { 4 | return r, requeueWaitWhileDeleting 5 | } 6 | 7 | // Call StopPipelineExecution only if the job is Executing, otherwise just 8 | // return nil to mark the resource Unmanaged 9 | if *latestStatus != string(svcsdktypes.PipelineExecutionStatusExecuting) { 10 | return r, err 11 | } 12 | } -------------------------------------------------------------------------------- /templates/processing_job/sdk_delete_pre_build_request.go.tpl: -------------------------------------------------------------------------------- 1 | latestStatus := r.ko.Status.ProcessingJobStatus 2 | if latestStatus != nil { 3 | if *latestStatus == string(svcsdktypes.ProcessingJobStatusStopping) { 4 | return r, requeueWaitWhileDeleting 5 | } 6 | 7 | // Call StopProcessingJob only if the job is InProgress, otherwise just 8 | // return nil to mark the resource Unmanaged 9 | if *latestStatus != string(svcsdktypes.ProcessingJobStatusInProgress) { 10 | return r, err 11 | } 12 | } -------------------------------------------------------------------------------- /templates/training_job/sdk_delete_pre_build_request.go.tpl: -------------------------------------------------------------------------------- 1 | latestStatus := r.ko.Status.TrainingJobStatus 2 | if latestStatus != nil { 3 | if *latestStatus == string(svcsdktypes.TrainingJobStatusStopping) { 4 | return r, requeueWaitWhileDeleting 5 | } 6 | 7 | // Call StopTrainingJob only if the job is InProgress, otherwise just 8 | // return nil to mark the resource Unmanaged 9 | if *latestStatus != string(svcsdktypes.TrainingJobStatusInProgress) { 10 | return r, err 11 | } 12 | } -------------------------------------------------------------------------------- /templates/training_job/sdk_update_post_set_output.go.tpl: -------------------------------------------------------------------------------- 1 | observed, err := rm.sdkFind(ctx, latest) 2 | if err != nil { 3 | return observed, err 4 | } 5 | ko.Status = observed.ko.Status 6 | return &resource{ko}, ackrequeue.NeededAfter( 7 | errors.New("training job is updating"), 8 | ackrequeue.DefaultRequeueAfterDuration, 9 | ) -------------------------------------------------------------------------------- /templates/transform_job/sdk_delete_pre_build_request.go.tpl: -------------------------------------------------------------------------------- 1 | latestStatus := r.ko.Status.TransformJobStatus 2 | if latestStatus != nil { 3 | if *latestStatus == string(svcsdktypes.TransformJobStatusStopping) { 4 | return r, requeueWaitWhileDeleting 5 | } 6 | 7 | // Call StopTranformJob only if the job is InProgress, otherwise just 8 | // return nil to mark the resource Unmanaged 9 | if *latestStatus != string(svcsdktypes.TransformJobStatusInProgress) { 10 | return r, err 11 | } 12 | } -------------------------------------------------------------------------------- /test/canary/scripts/install_controller_helm.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Deploy ACK Helm Charts 4 | 5 | function install_helm_chart() { 6 | local service="$1" 7 | local oidc_role_arn="$2" 8 | local region="$3" 9 | local namespace="$4" 10 | 11 | yq w -i helm/values.yaml "serviceAccount.annotations" "" 12 | yq w -i helm/values.yaml 'serviceAccount.annotations."eks.amazonaws.com/role-arn"' "$oidc_role_arn" 13 | yq w -i helm/values.yaml "aws.region" $region 14 | yq w -i helm/values.yaml "log.level" "debug" 15 | yq w -i helm/values.yaml "log.enable_development_logging" "true" 16 | 17 | 18 | kubectl apply -f helm/crds 19 | helm install -n $namespace --create-namespace ack-$service-controller --skip-crds helm 20 | } -------------------------------------------------------------------------------- /test/e2e/.gitignore: -------------------------------------------------------------------------------- 1 | __pycache__/ 2 | *.py[cod] 3 | **/bootstrap.yaml -------------------------------------------------------------------------------- /test/e2e/requirements.txt: -------------------------------------------------------------------------------- 1 | acktest @ git+https://github.com/aws-controllers-k8s/test-infra.git@66d07f4daa2ce12d92f07cb332d5342a0aea4feb 2 | pytest==8.0.2 3 | black==20.8b1 4 | flaky==3.7.0 5 | -------------------------------------------------------------------------------- /test/e2e/resources/adopted_resource_base.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: services.k8s.aws/v1alpha1 2 | kind: AdoptedResource 3 | metadata: 4 | name: $ADOPTED_RESOURCE_NAME 5 | spec: 6 | aws: 7 | nameOrID: $TARGET_RESOURCE_AWS 8 | kubernetes: 9 | group: sagemaker.services.k8s.aws 10 | kind: $RESOURCE_KIND 11 | metadata: 12 | name: $TARGET_RESOURCE_K8S -------------------------------------------------------------------------------- /test/e2e/resources/adopted_resource_base_arn.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: services.k8s.aws/v1alpha1 2 | kind: AdoptedResource 3 | metadata: 4 | name: $ADOPTED_RESOURCE_NAME 5 | spec: 6 | aws: 7 | arn: $TARGET_RESOURCE_AWS 8 | kubernetes: 9 | group: sagemaker.services.k8s.aws 10 | kind: $RESOURCE_KIND 11 | metadata: 12 | name: $TARGET_RESOURCE_K8S -------------------------------------------------------------------------------- /test/e2e/resources/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: App 3 | metadata: 4 | name: default 5 | spec: 6 | appName: default 7 | appType: JupyterServer 8 | userProfileName: $USER_PROFILE_NAME 9 | domainID: $DOMAIN_ID 10 | -------------------------------------------------------------------------------- /test/e2e/resources/cross_region_model.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: Model 3 | metadata: 4 | name: $MODEL_NAME 5 | annotations: 6 | services.k8s.aws/region: $REGION 7 | spec: 8 | modelName: $MODEL_NAME 9 | primaryContainer: 10 | containerHostname: xgboost 11 | image: $XGBOOST_V1_IMAGE_URI 12 | executionRoleARN: $SAGEMAKER_EXECUTION_ROLE_ARN -------------------------------------------------------------------------------- /test/e2e/resources/domain.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: Domain 3 | metadata: 4 | name: $DOMAIN_NAME 5 | spec: 6 | domainName: $DOMAIN_NAME 7 | authMode: IAM 8 | defaultUserSettings: 9 | executionRole: $SAGEMAKER_EXECUTION_ROLE_ARN 10 | kernelGatewayAppSettings: 11 | defaultResourceSpec: 12 | instanceType: ml.t3.micro 13 | subnetIDs: 14 | - $SUBNET_ID 15 | vpcID: $VPC_ID 16 | -------------------------------------------------------------------------------- /test/e2e/resources/endpoint_base.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: Endpoint 3 | metadata: 4 | name: $ENDPOINT_NAME 5 | spec: 6 | endpointName: $ENDPOINT_NAME 7 | endpointConfigName: $ENDPOINT_CONFIG_NAME 8 | tags: 9 | - key: confidentiality 10 | value: public 11 | - key: environment 12 | value: testing 13 | - key: customer 14 | value: test-user -------------------------------------------------------------------------------- /test/e2e/resources/endpoint_config_data_capture_single_variant.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: EndpointConfig 3 | metadata: 4 | name: $ENDPOINT_CONFIG_NAME 5 | spec: 6 | endpointConfigName: $ENDPOINT_CONFIG_NAME 7 | productionVariants: 8 | - modelName: $MODEL_NAME 9 | variantName: AllTraffic 10 | instanceType: $ENDPOINT_INSTANCE_TYPE 11 | initialVariantWeight: 1 12 | initialInstanceCount: 1 13 | dataCaptureConfig: 14 | enableCapture: true 15 | destinationS3URI: s3://$SAGEMAKER_DATA_BUCKET/sagemaker/endpoint_config/datacapture 16 | initialSamplingPercentage: 100 17 | captureOptions: 18 | - captureMode: Input 19 | - captureMode: Output 20 | captureContentTypeHeader: 21 | csvContentTypes: 22 | - "text/csv" 23 | jsonContentTypes: 24 | - "application/json" 25 | tags: 26 | - key: confidentiality 27 | value: public 28 | - key: environment 29 | value: testing 30 | - key: customer 31 | value: test-user -------------------------------------------------------------------------------- /test/e2e/resources/endpoint_config_inference_component.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: EndpointConfig 3 | metadata: 4 | name: $ENDPOINT_CONFIG_NAME 5 | spec: 6 | endpointConfigName: $ENDPOINT_CONFIG_NAME 7 | executionRoleARN: $SAGEMAKER_EXECUTION_ROLE_ARN 8 | productionVariants: 9 | - variantName: variant-1 10 | initialInstanceCount: 2 11 | instanceType: $ENDPOINT_INSTANCE_TYPE 12 | tags: 13 | - key: confidentiality 14 | value: public 15 | - key: environment 16 | value: testing 17 | - key: customer 18 | value: test-user -------------------------------------------------------------------------------- /test/e2e/resources/endpoint_config_multi_variant.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: EndpointConfig 3 | metadata: 4 | name: $ENDPOINT_CONFIG_NAME 5 | spec: 6 | endpointConfigName: $ENDPOINT_CONFIG_NAME 7 | productionVariants: 8 | - variantName: variant-1 9 | modelName: $MODEL_NAME 10 | initialInstanceCount: 1 11 | # This is the smallest instance type which will support scaling 12 | instanceType: $ENDPOINT_INSTANCE_TYPE 13 | initialVariantWeight: 1 14 | - variantName: variant-2 15 | modelName: $MODEL_NAME 16 | initialInstanceCount: 1 17 | instanceType: $ENDPOINT_INSTANCE_TYPE 18 | initialVariantWeight: 1 19 | tags: 20 | - key: confidentiality 21 | value: public 22 | - key: environment 23 | value: testing 24 | - key: customer 25 | value: test-user -------------------------------------------------------------------------------- /test/e2e/resources/endpoint_config_single_variant.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: EndpointConfig 3 | metadata: 4 | name: $ENDPOINT_CONFIG_NAME 5 | spec: 6 | endpointConfigName: $ENDPOINT_CONFIG_NAME 7 | productionVariants: 8 | - variantName: variant-1 9 | modelName: $MODEL_NAME 10 | # instanceCount is 2 to test retainAllVariantProperties 11 | initialInstanceCount: 2 12 | # This is the smallest instance type which will support scaling 13 | instanceType: $ENDPOINT_INSTANCE_TYPE 14 | initialVariantWeight: 1 15 | tags: 16 | - key: confidentiality 17 | value: public 18 | - key: environment 19 | value: testing 20 | - key: customer 21 | value: test-user -------------------------------------------------------------------------------- /test/e2e/resources/feature_group.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: FeatureGroup 3 | metadata: 4 | name: $FEATURE_GROUP_NAME 5 | spec: 6 | eventTimeFeatureName: EventTime 7 | featureDefinitions: 8 | - featureName: TransactionID 9 | featureType: Integral 10 | - featureName: EventTime 11 | featureType: Fractional 12 | featureGroupName: $FEATURE_GROUP_NAME 13 | recordIdentifierFeatureName: TransactionID 14 | offlineStoreConfig: 15 | s3StorageConfig: 16 | s3URI: s3://$SAGEMAKER_DATA_BUCKET/sagemaker/feature-group-data 17 | roleARN: $SAGEMAKER_EXECUTION_ROLE_ARN 18 | tags: 19 | - key: confidentiality 20 | value: public 21 | - key: environment 22 | value: testing 23 | - key: customer 24 | value: test-user 25 | -------------------------------------------------------------------------------- /test/e2e/resources/inference_component.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: InferenceComponent 3 | metadata: 4 | name: $INFERENCE_COMPONENT_NAME 5 | spec: 6 | inferenceComponentName: $INFERENCE_COMPONENT_NAME 7 | endpointName: $ENDPOINT_NAME 8 | variantName: variant-1 9 | specification: 10 | modelName: $MODEL_NAME 11 | computeResourceRequirements: 12 | numberOfCPUCoresRequired: 1 13 | minMemoryRequiredInMb: 1024 14 | runtimeConfig: 15 | copyCount: 1 16 | tags: 17 | - key: confidentiality 18 | value: public 19 | - key: environment 20 | value: testing 21 | - key: customer 22 | value: test-user -------------------------------------------------------------------------------- /test/e2e/resources/monitoring_schedule_base.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: MonitoringSchedule 3 | metadata: 4 | name: $MONITORING_SCHEDULE_NAME 5 | spec: 6 | monitoringScheduleName: $MONITORING_SCHEDULE_NAME 7 | monitoringScheduleConfig: 8 | monitoringType: $MONITORING_TYPE 9 | monitoringJobDefinitionName: $JOB_DEFINITION_NAME 10 | scheduleConfig: 11 | scheduleExpression: "cron(0 * ? * * *)" 12 | tags: 13 | - key: confidentiality 14 | value: public 15 | - key: environment 16 | value: testing 17 | - key: customer 18 | value: test-user -------------------------------------------------------------------------------- /test/e2e/resources/notebook_instance.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstance 3 | metadata: 4 | name: $NOTEBOOK_INSTANCE_NAME 5 | spec: 6 | instanceType: $NOTEBOOK_INSTANCE_INSTANCE_TYPES 7 | notebookInstanceName: $NOTEBOOK_INSTANCE_NAME 8 | roleARN: $SAGEMAKER_EXECUTION_ROLE_ARN 9 | volumeSizeInGB: 6 10 | directInternetAccess: Enabled 11 | rootAccess: Enabled 12 | defaultCodeRepository: $DEFAULT_CODE_REPOSITORY -------------------------------------------------------------------------------- /test/e2e/resources/notebook_instance_lifecycle_config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: NotebookInstanceLifecycleConfig 3 | metadata: 4 | name: $NOTEBOOK_INSTANCE_LFC_NAME 5 | annotations: 6 | services.k8s.aws/deletion-policy: $DELETION_POLICY 7 | spec: 8 | notebookInstanceLifecycleConfigName: $NOTEBOOK_INSTANCE_LFC_NAME 9 | onStart: 10 | # base64 decoded string: 11 | # echo "Entering onStart" 12 | - content: ZWNobyAiRW50ZXJpbmcgb25TdGFydCI= 13 | onCreate: 14 | # base 64 decoded string: 15 | # echo "Entering onCreate" 16 | - content: ZWNobyAiRW50ZXJpbmcgb25DcmVhdGUi 17 | -------------------------------------------------------------------------------- /test/e2e/resources/pipeline.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: Pipeline 3 | metadata: 4 | name: $PIPELINE_NAME 5 | spec: 6 | pipelineDisplayName: $PIPELINE_NAME 7 | pipelineName: $PIPELINE_NAME 8 | pipelineDefinition: '{"Version": "2020-12-01","Metadata": {},"Parameters": [],"PipelineExperimentConfig": {"ExperimentName": {"Get": "Execution.PipelineName"},"TrialName": {"Get": "Execution.PipelineExecutionId"}},"Steps": [{"Name": "MyModelCreationStep-CreateModel","Type": "Model","Arguments": {"ExecutionRoleArn": "$SAGEMAKER_EXECUTION_ROLE_ARN","PrimaryContainer": {"Image": "$XGBOOST_V1_IMAGE_URI","Environment": {},"ModelDataUrl": "s3://$SAGEMAKER_DATA_BUCKET/sagemaker/model/xgboost-mnist-model.tar.gz"}}}]}' 9 | roleARN: $SAGEMAKER_EXECUTION_ROLE_ARN 10 | parallelismConfiguration: 11 | maxParallelExecutionSteps: 2 12 | tags: 13 | - key: environment 14 | value: testing -------------------------------------------------------------------------------- /test/e2e/resources/pipeline_execution.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: PipelineExecution 3 | metadata: 4 | name: $PIPELINE_EXECUTION_RESOURCE_NAME 5 | spec: 6 | pipelineExecutionDisplayName: $PIPELINE_EXECUTION_RESOURCE_NAME 7 | pipelineName: $PIPELINE_RESOURCE_NAME -------------------------------------------------------------------------------- /test/e2e/resources/user_profile.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: UserProfile 3 | metadata: 4 | name: $USER_PROFILE_NAME 5 | spec: 6 | userProfileName: $USER_PROFILE_NAME 7 | domainID: $DOMAIN_ID 8 | userSettings: 9 | kernelGatewayAppSettings: 10 | defaultResourceSpec: 11 | instanceType: ml.t3.micro 12 | -------------------------------------------------------------------------------- /test/e2e/resources/xgboost_model.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: Model 3 | metadata: 4 | name: $MODEL_NAME 5 | spec: 6 | modelName: $MODEL_NAME 7 | primaryContainer: 8 | containerHostname: xgboost 9 | modelDataURL: s3://$SAGEMAKER_DATA_BUCKET/sagemaker/model/xgboost-mnist-model.tar.gz 10 | image: $XGBOOST_V1_IMAGE_URI 11 | environment: 12 | my_var: my_value 13 | my_var2: my_value2 14 | executionRoleARN: $SAGEMAKER_EXECUTION_ROLE_ARN 15 | tags: 16 | - key: algorithm 17 | value: xgboost 18 | - key: environment 19 | value: testing 20 | - key: customer 21 | value: test-user -------------------------------------------------------------------------------- /test/e2e/resources/xgboost_model_inference_component.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: Model 3 | metadata: 4 | name: $MODEL_NAME 5 | spec: 6 | modelName: $MODEL_NAME 7 | primaryContainer: 8 | modelDataURL: s3://$SAGEMAKER_DATA_BUCKET/sagemaker/model/xgboost-mnist-model.tar.gz 9 | image: $XGBOOST_V1_IMAGE_URI 10 | environment: 11 | my_var: my_value 12 | my_var2: my_value2 13 | executionRoleARN: $SAGEMAKER_EXECUTION_ROLE_ARN 14 | tags: 15 | - key: algorithm 16 | value: xgboost 17 | - key: environment 18 | value: testing 19 | - key: customer 20 | value: test-user -------------------------------------------------------------------------------- /test/e2e/resources/xgboost_model_package_group.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: ModelPackageGroup 3 | metadata: 4 | name: $MODEL_PACKAGE_GROUP_NAME 5 | spec: 6 | modelPackageGroupName: $MODEL_PACKAGE_GROUP_NAME 7 | modelPackageGroupDescription: "Description for model package group" 8 | tags: 9 | - key: algorithm 10 | value: xgboost 11 | - key: environment 12 | value: testing 13 | - key: customer 14 | value: test-user -------------------------------------------------------------------------------- /test/e2e/resources/xgboost_model_with_model_location.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: Model 3 | metadata: 4 | name: $MODEL_NAME 5 | spec: 6 | modelName: $MODEL_NAME 7 | containers: 8 | - containerHostname: xgboost 9 | modelDataURL: $MODEL_LOCATION 10 | image: $XGBOOST_IMAGE_URI 11 | imageConfig: 12 | repositoryAccessMode: Platform 13 | environment: 14 | my_var: my_value 15 | my_var2: my_value2 16 | executionRoleARN: $SAGEMAKER_EXECUTION_ROLE_ARN -------------------------------------------------------------------------------- /test/e2e/resources/xgboost_model_with_model_location_inference_component.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: Model 3 | metadata: 4 | name: $MODEL_NAME 5 | spec: 6 | modelName: $MODEL_NAME 7 | primaryContainer: 8 | modelDataURL: $MODEL_LOCATION 9 | image: $XGBOOST_V1_IMAGE_URI 10 | environment: 11 | my_var: my_value 12 | my_var2: my_value2 13 | executionRoleARN: $SAGEMAKER_EXECUTION_ROLE_ARN 14 | tags: 15 | - key: algorithm 16 | value: xgboost 17 | - key: environment 18 | value: testing 19 | - key: customer 20 | value: test-user -------------------------------------------------------------------------------- /test/e2e/resources/xgboost_transformjob.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: sagemaker.services.k8s.aws/v1alpha1 2 | kind: TransformJob 3 | metadata: 4 | name: $TRANSFORM_JOB_NAME 5 | spec: 6 | transformJobName: $TRANSFORM_JOB_NAME 7 | modelName: $MODEL_NAME 8 | transformInput: 9 | contentType: text/csv 10 | dataSource: 11 | s3DataSource: 12 | s3DataType: S3Prefix 13 | s3URI: s3://$SAGEMAKER_DATA_BUCKET/sagemaker/batch/input-data 14 | transformOutput: 15 | s3OutputPath: s3://$SAGEMAKER_DATA_BUCKET/sagemaker/batch/output 16 | transformResources: 17 | instanceCount: 1 18 | instanceType: ml.m5.large 19 | tags: 20 | - key: algorithm 21 | value: xgboost 22 | - key: environment 23 | value: testing 24 | - key: customer 25 | value: test-user -------------------------------------------------------------------------------- /test/e2e/tags.py: -------------------------------------------------------------------------------- 1 | # Copyright Amazon.com Inc. or its affiliates. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"). You may 4 | # not use this file except in compliance with the License. A copy of the 5 | # License is located at 6 | # 7 | # http://aws.amazon.com/apache2.0/ 8 | # 9 | # or in the "license" file accompanying this file. This file is distributed 10 | # on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 11 | # express or implied. See the License for the specific language governing 12 | # permissions and limitations under the License. 13 | 14 | """Utilities for working with tags""" 15 | 16 | from typing import List 17 | 18 | ACK_SYSTEM_TAG_PREFIX = "services.k8s.aws/" 19 | 20 | 21 | def clean(tags: List[object]) -> List[object]: 22 | """Returns supplied tags collection, stripped of ACK system tags.""" 23 | return [t for t in tags if not t["key"].startswith(ACK_SYSTEM_TAG_PREFIX)] 24 | -------------------------------------------------------------------------------- /test/e2e/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright Amazon.com Inc. or its affiliates. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"). You may 4 | # not use this file except in compliance with the License. A copy of the 5 | # License is located at 6 | # 7 | # http://aws.amazon.com/apache2.0/ 8 | # 9 | # or in the "license" file accompanying this file. This file is distributed 10 | # on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 11 | # express or implied. See the License for the specific language governing 12 | # permissions and limitations under the License. 13 | -------------------------------------------------------------------------------- /test/scripts/install-mockery.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # A script that installs the mockery CLI tool that is used to build Go mocks 4 | # for our interfaces to use in unit testing. This script installs mockery into 5 | # the bin/mockery path and really should just be used in testing scripts. 6 | 7 | set -eo pipefail 8 | 9 | SCRIPTS_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" 10 | ROOT_DIR="$SCRIPTS_DIR/.." 11 | BIN_DIR="$ROOT_DIR/bin" 12 | 13 | OS=$(uname -s) 14 | ARCH=$(uname -m) 15 | VERSION=2.40.1 16 | MOCKERY_RELEASE_URL="https://github.com/vektra/mockery/releases/download/v${VERSION}/mockery_${VERSION}_${OS}_${ARCH}.tar.gz" 17 | 18 | if [[ ! -f $BIN_DIR/mockery ]]; then 19 | echo -n "Installing mockery into bin/mockery ... " 20 | mkdir -p $BIN_DIR 21 | cd $BIN_DIR 22 | wget -q --no-check-certificate --content-disposition $MOCKERY_RELEASE_URL -O mockery.tar.gz 23 | tar -xf mockery.tar.gz 24 | echo "ok." 25 | fi 26 | --------------------------------------------------------------------------------