diff --git a/operators/ack-sagemaker-controller/1.3.0/bundle.Dockerfile b/operators/ack-sagemaker-controller/1.3.0/bundle.Dockerfile new file mode 100644 index 00000000000..74b94137c7c --- /dev/null +++ b/operators/ack-sagemaker-controller/1.3.0/bundle.Dockerfile @@ -0,0 +1,21 @@ +FROM scratch + +# Core bundle labels. +LABEL operators.operatorframework.io.bundle.mediatype.v1=registry+v1 +LABEL operators.operatorframework.io.bundle.manifests.v1=manifests/ +LABEL operators.operatorframework.io.bundle.metadata.v1=metadata/ +LABEL operators.operatorframework.io.bundle.package.v1=ack-sagemaker-controller +LABEL operators.operatorframework.io.bundle.channels.v1=alpha +LABEL operators.operatorframework.io.bundle.channel.default.v1=alpha +LABEL operators.operatorframework.io.metrics.builder=operator-sdk-v1.28.0 +LABEL operators.operatorframework.io.metrics.mediatype.v1=metrics+v1 +LABEL operators.operatorframework.io.metrics.project_layout=unknown + +# Labels for testing. +LABEL operators.operatorframework.io.test.mediatype.v1=scorecard+v1 +LABEL operators.operatorframework.io.test.config.v1=tests/scorecard/ + +# Copy files to locations specified by labels. +COPY bundle/manifests /manifests/ +COPY bundle/metadata /metadata/ +COPY bundle/tests/scorecard /tests/scorecard/ diff --git a/operators/ack-sagemaker-controller/1.3.0/manifests/ack-sagemaker-controller.clusterserviceversion.yaml b/operators/ack-sagemaker-controller/1.3.0/manifests/ack-sagemaker-controller.clusterserviceversion.yaml new file mode 100644 index 00000000000..7364e4c4915 --- /dev/null +++ b/operators/ack-sagemaker-controller/1.3.0/manifests/ack-sagemaker-controller.clusterserviceversion.yaml @@ -0,0 +1,598 @@ +apiVersion: operators.coreos.com/v1alpha1 +kind: ClusterServiceVersion +metadata: + annotations: + alm-examples: |- + [ + { + "apiVersion": "sagemaker.services.k8s.aws/v1alpha1", + "kind": "App", + "metadata": { + "name": "example" + }, + "spec": {} + }, + { + "apiVersion": "sagemaker.services.k8s.aws/v1alpha1", + "kind": "DataQualityJobDefinition", + "metadata": { + "name": "example" + }, + "spec": {} + }, + { + "apiVersion": "sagemaker.services.k8s.aws/v1alpha1", + "kind": "Domain", + "metadata": { + "name": "example" + }, + "spec": {} + }, + { + "apiVersion": "sagemaker.services.k8s.aws/v1alpha1", + "kind": "Endpoint", + "metadata": { + "name": "example" + }, + "spec": {} + }, + { + "apiVersion": "sagemaker.services.k8s.aws/v1alpha1", + "kind": "EndpointConfig", + "metadata": { + "name": "example" + }, + "spec": {} + }, + { + "apiVersion": "sagemaker.services.k8s.aws/v1alpha1", + "kind": "FeatureGroup", + "metadata": { + "name": "example" + }, + "spec": {} + }, + { + "apiVersion": "sagemaker.services.k8s.aws/v1alpha1", + "kind": "HyperParameterTuningJob", + "metadata": { + "name": "example" + }, + "spec": {} + }, + { + "apiVersion": "sagemaker.services.k8s.aws/v1alpha1", + "kind": "Model", + "metadata": { + "name": "example" + }, + "spec": {} + }, + { + "apiVersion": "sagemaker.services.k8s.aws/v1alpha1", + "kind": "ModelBiasJobDefinition", + "metadata": { + "name": "example" + }, + "spec": {} + }, + { + "apiVersion": "sagemaker.services.k8s.aws/v1alpha1", + "kind": "ModelExplainabilityJobDefinition", + "metadata": { + "name": "example" + }, + "spec": {} + }, + { + "apiVersion": "sagemaker.services.k8s.aws/v1alpha1", + "kind": "ModelPackage", + "metadata": { + "name": "example" + }, + "spec": {} + }, + { + "apiVersion": "sagemaker.services.k8s.aws/v1alpha1", + "kind": "ModelPackageGroup", + "metadata": { + "name": "example" + }, + "spec": {} + }, + { + "apiVersion": "sagemaker.services.k8s.aws/v1alpha1", + "kind": "ModelQualityJobDefinition", + "metadata": { + "name": "example" + }, + "spec": {} + }, + { + "apiVersion": "sagemaker.services.k8s.aws/v1alpha1", + "kind": "MonitoringSchedule", + "metadata": { + "name": "example" + }, + "spec": {} + }, + { + "apiVersion": "sagemaker.services.k8s.aws/v1alpha1", + "kind": "NotebookInstance", + "metadata": { + "name": "example" + }, + "spec": {} + }, + { + "apiVersion": "sagemaker.services.k8s.aws/v1alpha1", + "kind": "NotebookInstanceLifecycleConfig", + "metadata": { + "name": "example" + }, + "spec": {} + }, + { + "apiVersion": "sagemaker.services.k8s.aws/v1alpha1", + "kind": "ProcessingJob", + "metadata": { + "name": "example" + }, + "spec": {} + }, + { + "apiVersion": "sagemaker.services.k8s.aws/v1alpha1", + "kind": "TrainingJob", + "metadata": { + "name": "example" + }, + "spec": {} + }, + { + "apiVersion": "sagemaker.services.k8s.aws/v1alpha1", + "kind": "TransformJob", + "metadata": { + "name": "example" + }, + "spec": {} + }, + { + "apiVersion": "sagemaker.services.k8s.aws/v1alpha1", + "kind": "UserProfile", + "metadata": { + "name": "example" + }, + "spec": {} + } + ] + capabilities: Basic Install + categories: Cloud Provider + certified: "false" + containerImage: public.ecr.aws/aws-controllers-k8s/sagemaker-controller:1.3.0 + createdAt: "2025-06-04T23:42:36Z" + description: ACK service controller for Amazon SageMaker manages SageMaker resources + in Kubernetes + operatorframework.io/suggested-namespace: ack-system + operators.operatorframework.io/builder: operator-sdk-v1.28.0 + operators.operatorframework.io/project_layout: unknown + repository: https://github.com/aws-controllers-k8s + support: Community + labels: + operatorframework.io/arch.amd64: supported + operatorframework.io/arch.arm64: supported + operatorframework.io/os.linux: supported + name: ack-sagemaker-controller.v1.3.0 + namespace: placeholder +spec: + apiservicedefinitions: {} + customresourcedefinitions: + owned: + - description: App represents the state of an AWS sagemaker App resource. + displayName: App + kind: App + name: apps.sagemaker.services.k8s.aws + version: v1alpha1 + - description: DataQualityJobDefinition represents the state of an AWS sagemaker + DataQualityJobDefinition resource. + displayName: DataQualityJobDefinition + kind: DataQualityJobDefinition + name: dataqualityjobdefinitions.sagemaker.services.k8s.aws + version: v1alpha1 + - description: Domain represents the state of an AWS sagemaker Domain resource. + displayName: Domain + kind: Domain + name: domains.sagemaker.services.k8s.aws + version: v1alpha1 + - description: EndpointConfig represents the state of an AWS sagemaker EndpointConfig + resource. + displayName: EndpointConfig + kind: EndpointConfig + name: endpointconfigs.sagemaker.services.k8s.aws + version: v1alpha1 + - description: Endpoint represents the state of an AWS sagemaker Endpoint resource. + displayName: Endpoint + kind: Endpoint + name: endpoints.sagemaker.services.k8s.aws + version: v1alpha1 + - description: FeatureGroup represents the state of an AWS sagemaker FeatureGroup + resource. + displayName: FeatureGroup + kind: FeatureGroup + name: featuregroups.sagemaker.services.k8s.aws + version: v1alpha1 + - description: HyperParameterTuningJob represents the state of an AWS sagemaker + HyperParameterTuningJob resource. + displayName: HyperParameterTuningJob + kind: HyperParameterTuningJob + name: hyperparametertuningjobs.sagemaker.services.k8s.aws + version: v1alpha1 + - description: InferenceComponent represents the state of an AWS sagemaker InferenceComponent + resource. + displayName: InferenceComponent + kind: InferenceComponent + name: inferencecomponents.sagemaker.services.k8s.aws + version: v1alpha1 + - description: LabelingJob represents the state of an AWS sagemaker LabelingJob + resource. + displayName: LabelingJob + kind: LabelingJob + name: labelingjobs.sagemaker.services.k8s.aws + version: v1alpha1 + - description: ModelBiasJobDefinition represents the state of an AWS sagemaker + ModelBiasJobDefinition resource. + displayName: ModelBiasJobDefinition + kind: ModelBiasJobDefinition + name: modelbiasjobdefinitions.sagemaker.services.k8s.aws + version: v1alpha1 + - description: ModelExplainabilityJobDefinition represents the state of an AWS + sagemaker ModelExplainabilityJobDefinition resource. + displayName: ModelExplainabilityJobDefinition + kind: ModelExplainabilityJobDefinition + name: modelexplainabilityjobdefinitions.sagemaker.services.k8s.aws + version: v1alpha1 + - description: ModelPackageGroup represents the state of an AWS sagemaker ModelPackageGroup + resource. + displayName: ModelPackageGroup + kind: ModelPackageGroup + name: modelpackagegroups.sagemaker.services.k8s.aws + version: v1alpha1 + - description: ModelPackage represents the state of an AWS sagemaker ModelPackage + resource. + displayName: ModelPackage + kind: ModelPackage + name: modelpackages.sagemaker.services.k8s.aws + version: v1alpha1 + - description: ModelQualityJobDefinition represents the state of an AWS sagemaker + ModelQualityJobDefinition resource. + displayName: ModelQualityJobDefinition + kind: ModelQualityJobDefinition + name: modelqualityjobdefinitions.sagemaker.services.k8s.aws + version: v1alpha1 + - description: Model represents the state of an AWS sagemaker Model resource. + displayName: Model + kind: Model + name: models.sagemaker.services.k8s.aws + version: v1alpha1 + - description: MonitoringSchedule represents the state of an AWS sagemaker MonitoringSchedule + resource. + displayName: MonitoringSchedule + kind: MonitoringSchedule + name: monitoringschedules.sagemaker.services.k8s.aws + version: v1alpha1 + - description: NotebookInstanceLifecycleConfig represents the state of an AWS + sagemaker NotebookInstanceLifecycleConfig resource. + displayName: NotebookInstanceLifecycleConfig + kind: NotebookInstanceLifecycleConfig + name: notebookinstancelifecycleconfigs.sagemaker.services.k8s.aws + version: v1alpha1 + - description: NotebookInstance represents the state of an AWS sagemaker NotebookInstance + resource. + displayName: NotebookInstance + kind: NotebookInstance + name: notebookinstances.sagemaker.services.k8s.aws + version: v1alpha1 + - description: PipelineExecution represents the state of an AWS sagemaker PipelineExecution + resource. + displayName: PipelineExecution + kind: PipelineExecution + name: pipelineexecutions.sagemaker.services.k8s.aws + version: v1alpha1 + - description: Pipeline represents the state of an AWS sagemaker Pipeline resource. + displayName: Pipeline + kind: Pipeline + name: pipelines.sagemaker.services.k8s.aws + version: v1alpha1 + - description: ProcessingJob represents the state of an AWS sagemaker ProcessingJob + resource. + displayName: ProcessingJob + kind: ProcessingJob + name: processingjobs.sagemaker.services.k8s.aws + version: v1alpha1 + - description: TrainingJob represents the state of an AWS sagemaker TrainingJob + resource. + displayName: TrainingJob + kind: TrainingJob + name: trainingjobs.sagemaker.services.k8s.aws + version: v1alpha1 + - description: TransformJob represents the state of an AWS sagemaker TransformJob + resource. + displayName: TransformJob + kind: TransformJob + name: transformjobs.sagemaker.services.k8s.aws + version: v1alpha1 + - description: UserProfile represents the state of an AWS sagemaker UserProfile + resource. + displayName: UserProfile + kind: UserProfile + name: userprofiles.sagemaker.services.k8s.aws + version: v1alpha1 + description: |- + Manage Amazon SageMaker resources in AWS from within your Kubernetes cluster. + + **About Amazon SageMaker** + + Amazon SageMaker helps data scientists and developers to prepare, build, train, and deploy high-quality machine learning (ML) models quickly by bringing together a broad set of capabilities purpose-built for ML. + + For more information on Amazon SageMaker, visit the [product page](https://aws.amazon.com/sagemaker/). + + **About the AWS Controllers for Kubernetes** + + This controller is a component of the [AWS Controller for Kubernetes](https://github.com/aws/aws-controllers-k8s) project. + + **Pre-Installation Steps** + + Please follow the following link: [Red Hat OpenShift](https://aws-controllers-k8s.github.io/community/docs/user-docs/openshift/) + displayName: AWS Controllers for Kubernetes - Amazon SageMaker + icon: + - base64data: PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMzA0IDE4MiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzA0IDE4MjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOiMyNTJGM0U7fQoJLnN0MXtmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiNGRjk5MDA7fQo8L3N0eWxlPgo8Zz4KCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik04Ni40LDY2LjRjMCwzLjcsMC40LDYuNywxLjEsOC45YzAuOCwyLjIsMS44LDQuNiwzLjIsNy4yYzAuNSwwLjgsMC43LDEuNiwwLjcsMi4zYzAsMS0wLjYsMi0xLjksM2wtNi4zLDQuMiAgIGMtMC45LDAuNi0xLjgsMC45LTIuNiwwLjljLTEsMC0yLTAuNS0zLTEuNEM3Ni4yLDkwLDc1LDg4LjQsNzQsODYuOGMtMS0xLjctMi0zLjYtMy4xLTUuOWMtNy44LDkuMi0xNy42LDEzLjgtMjkuNCwxMy44ICAgYy04LjQsMC0xNS4xLTIuNC0yMC03LjJjLTQuOS00LjgtNy40LTExLjItNy40LTE5LjJjMC04LjUsMy0xNS40LDkuMS0yMC42YzYuMS01LjIsMTQuMi03LjgsMjQuNS03LjhjMy40LDAsNi45LDAuMywxMC42LDAuOCAgIGMzLjcsMC41LDcuNSwxLjMsMTEuNSwyLjJ2LTcuM2MwLTcuNi0xLjYtMTIuOS00LjctMTZjLTMuMi0zLjEtOC42LTQuNi0xNi4zLTQuNmMtMy41LDAtNy4xLDAuNC0xMC44LDEuM2MtMy43LDAuOS03LjMsMi0xMC44LDMuNCAgIGMtMS42LDAuNy0yLjgsMS4xLTMuNSwxLjNjLTAuNywwLjItMS4yLDAuMy0xLjYsMC4zYy0xLjQsMC0yLjEtMS0yLjEtMy4xdi00LjljMC0xLjYsMC4yLTIuOCwwLjctMy41YzAuNS0wLjcsMS40LTEuNCwyLjgtMi4xICAgYzMuNS0xLjgsNy43LTMuMywxMi42LTQuNWM0LjktMS4zLDEwLjEtMS45LDE1LjYtMS45YzExLjksMCwyMC42LDIuNywyNi4yLDguMWM1LjUsNS40LDguMywxMy42LDguMywyNC42VjY2LjR6IE00NS44LDgxLjYgICBjMy4zLDAsNi43LTAuNiwxMC4zLTEuOGMzLjYtMS4yLDYuOC0zLjQsOS41LTYuNGMxLjYtMS45LDIuOC00LDMuNC02LjRjMC42LTIuNCwxLTUuMywxLTguN3YtNC4yYy0yLjktMC43LTYtMS4zLTkuMi0xLjcgICBjLTMuMi0wLjQtNi4zLTAuNi05LjQtMC42Yy02LjcsMC0xMS42LDEuMy0xNC45LDRjLTMuMywyLjctNC45LDYuNS00LjksMTEuNWMwLDQuNywxLjIsOC4yLDMuNywxMC42ICAgQzM3LjcsODAuNCw0MS4yLDgxLjYsNDUuOCw4MS42eiBNMTI2LjEsOTIuNGMtMS44LDAtMy0wLjMtMy44LTFjLTAuOC0wLjYtMS41LTItMi4xLTMuOUw5Ni43LDEwLjJjLTAuNi0yLTAuOS0zLjMtMC45LTQgICBjMC0xLjYsMC44LTIuNSwyLjQtMi41aDkuOGMxLjksMCwzLjIsMC4zLDMuOSwxYzAuOCwwLjYsMS40LDIsMiwzLjlsMTYuOCw2Ni4ybDE1LjYtNjYuMmMwLjUtMiwxLjEtMy4zLDEuOS0zLjljMC44LTAuNiwyLjItMSw0LTEgICBoOGMxLjksMCwzLjIsMC4zLDQsMWMwLjgsMC42LDEuNSwyLDEuOSwzLjlsMTUuOCw2N2wxNy4zLTY3YzAuNi0yLDEuMy0zLjMsMi0zLjljMC44LTAuNiwyLjEtMSwzLjktMWg5LjNjMS42LDAsMi41LDAuOCwyLjUsMi41ICAgYzAsMC41LTAuMSwxLTAuMiwxLjZjLTAuMSwwLjYtMC4zLDEuNC0wLjcsMi41bC0yNC4xLDc3LjNjLTAuNiwyLTEuMywzLjMtMi4xLDMuOWMtMC44LDAuNi0yLjEsMS0zLjgsMWgtOC42Yy0xLjksMC0zLjItMC4zLTQtMSAgIGMtMC44LTAuNy0xLjUtMi0xLjktNEwxNTYsMjNsLTE1LjQsNjQuNGMtMC41LDItMS4xLDMuMy0xLjksNGMtMC44LDAuNy0yLjIsMS00LDFIMTI2LjF6IE0yNTQuNiw5NS4xYy01LjIsMC0xMC40LTAuNi0xNS40LTEuOCAgIGMtNS0xLjItOC45LTIuNS0xMS41LTRjLTEuNi0wLjktMi43LTEuOS0zLjEtMi44Yy0wLjQtMC45LTAuNi0xLjktMC42LTIuOHYtNS4xYzAtMi4xLDAuOC0zLjEsMi4zLTMuMWMwLjYsMCwxLjIsMC4xLDEuOCwwLjMgICBjMC42LDAuMiwxLjUsMC42LDIuNSwxYzMuNCwxLjUsNy4xLDIuNywxMSwzLjVjNCwwLjgsNy45LDEuMiwxMS45LDEuMmM2LjMsMCwxMS4yLTEuMSwxNC42LTMuM2MzLjQtMi4yLDUuMi01LjQsNS4yLTkuNSAgIGMwLTIuOC0wLjktNS4xLTIuNy03Yy0xLjgtMS45LTUuMi0zLjYtMTAuMS01LjJMMjQ2LDUyYy03LjMtMi4zLTEyLjctNS43LTE2LTEwLjJjLTMuMy00LjQtNS05LjMtNS0xNC41YzAtNC4yLDAuOS03LjksMi43LTExLjEgICBjMS44LTMuMiw0LjItNiw3LjItOC4yYzMtMi4zLDYuNC00LDEwLjQtNS4yYzQtMS4yLDguMi0xLjcsMTIuNi0xLjdjMi4yLDAsNC41LDAuMSw2LjcsMC40YzIuMywwLjMsNC40LDAuNyw2LjUsMS4xICAgYzIsMC41LDMuOSwxLDUuNywxLjZjMS44LDAuNiwzLjIsMS4yLDQuMiwxLjhjMS40LDAuOCwyLjQsMS42LDMsMi41YzAuNiwwLjgsMC45LDEuOSwwLjksMy4zdjQuN2MwLDIuMS0wLjgsMy4yLTIuMywzLjIgICBjLTAuOCwwLTIuMS0wLjQtMy44LTEuMmMtNS43LTIuNi0xMi4xLTMuOS0xOS4yLTMuOWMtNS43LDAtMTAuMiwwLjktMTMuMywyLjhjLTMuMSwxLjktNC43LDQuOC00LjcsOC45YzAsMi44LDEsNS4yLDMsNy4xICAgYzIsMS45LDUuNywzLjgsMTEsNS41bDE0LjIsNC41YzcuMiwyLjMsMTIuNCw1LjUsMTUuNSw5LjZjMy4xLDQuMSw0LjYsOC44LDQuNiwxNGMwLDQuMy0wLjksOC4yLTIuNiwxMS42ICAgYy0xLjgsMy40LTQuMiw2LjQtNy4zLDguOGMtMy4xLDIuNS02LjgsNC4zLTExLjEsNS42QzI2NC40LDk0LjQsMjU5LjcsOTUuMSwyNTQuNiw5NS4xeiIvPgoJPGc+CgkJPHBhdGggY2xhc3M9InN0MSIgZD0iTTI3My41LDE0My43Yy0zMi45LDI0LjMtODAuNywzNy4yLTEyMS44LDM3LjJjLTU3LjYsMC0xMDkuNS0yMS4zLTE0OC43LTU2LjdjLTMuMS0yLjgtMC4zLTYuNiwzLjQtNC40ICAgIGM0Mi40LDI0LjYsOTQuNywzOS41LDE0OC44LDM5LjVjMzYuNSwwLDc2LjYtNy42LDExMy41LTIzLjJDMjc0LjIsMTMzLjYsMjc4LjksMTM5LjcsMjczLjUsMTQzLjd6Ii8+CgkJPHBhdGggY2xhc3M9InN0MSIgZD0iTTI4Ny4yLDEyOC4xYy00LjItNS40LTI3LjgtMi42LTM4LjUtMS4zYy0zLjIsMC40LTMuNy0yLjQtMC44LTQuNWMxOC44LTEzLjIsNDkuNy05LjQsNTMuMy01ICAgIGMzLjYsNC41LTEsMzUuNC0xOC42LDUwLjJjLTIuNywyLjMtNS4zLDEuMS00LjEtMS45QzI4Mi41LDE1NS43LDI5MS40LDEzMy40LDI4Ny4yLDEyOC4xeiIvPgoJPC9nPgo8L2c+Cjwvc3ZnPg== + mediatype: image/svg+xml + install: + spec: + clusterPermissions: + - rules: + - apiGroups: + - "" + resources: + - configmaps + - secrets + verbs: + - get + - list + - patch + - watch + - apiGroups: + - "" + resources: + - namespaces + verbs: + - get + - list + - watch + - apiGroups: + - sagemaker.services.k8s.aws + resources: + - apps + - dataqualityjobdefinitions + - domains + - endpointconfigs + - endpoints + - featuregroups + - hyperparametertuningjobs + - inferencecomponents + - labelingjobs + - modelbiasjobdefinitions + - modelexplainabilityjobdefinitions + - modelpackagegroups + - modelpackages + - modelqualityjobdefinitions + - models + - monitoringschedules + - notebookinstancelifecycleconfigs + - notebookinstances + - pipelineexecutions + - pipelines + - processingjobs + - trainingjobs + - transformjobs + - userprofiles + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - sagemaker.services.k8s.aws + resources: + - apps/status + - dataqualityjobdefinitions/status + - domains/status + - endpointconfigs/status + - endpoints/status + - featuregroups/status + - hyperparametertuningjobs/status + - inferencecomponents/status + - labelingjobs/status + - modelbiasjobdefinitions/status + - modelexplainabilityjobdefinitions/status + - modelpackagegroups/status + - modelpackages/status + - modelqualityjobdefinitions/status + - models/status + - monitoringschedules/status + - notebookinstancelifecycleconfigs/status + - notebookinstances/status + - pipelineexecutions/status + - pipelines/status + - processingjobs/status + - trainingjobs/status + - transformjobs/status + - userprofiles/status + verbs: + - get + - patch + - update + - apiGroups: + - services.k8s.aws + resources: + - adoptedresources + - fieldexports + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - services.k8s.aws + resources: + - adoptedresources/status + - fieldexports/status + verbs: + - get + - patch + - update + serviceAccountName: ack-sagemaker-controller + deployments: + - label: + app.kubernetes.io/name: ack-sagemaker-controller + app.kubernetes.io/part-of: ack-system + name: ack-sagemaker-controller + spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/name: ack-sagemaker-controller + strategy: {} + template: + metadata: + labels: + app.kubernetes.io/name: ack-sagemaker-controller + spec: + containers: + - args: + - --aws-region + - $(AWS_REGION) + - --aws-endpoint-url + - $(AWS_ENDPOINT_URL) + - --enable-development-logging=$(ACK_ENABLE_DEVELOPMENT_LOGGING) + - --log-level + - $(ACK_LOG_LEVEL) + - --resource-tags + - $(ACK_RESOURCE_TAGS) + - --watch-namespace + - $(ACK_WATCH_NAMESPACE) + - --enable-leader-election=$(ENABLE_LEADER_ELECTION) + - --leader-election-namespace + - $(LEADER_ELECTION_NAMESPACE) + - --reconcile-default-max-concurrent-syncs + - $(RECONCILE_DEFAULT_MAX_CONCURRENT_SYNCS) + - --feature-gates + - $(FEATURE_GATES) + command: + - ./bin/controller + env: + - name: ACK_SYSTEM_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + envFrom: + - configMapRef: + name: ack-sagemaker-user-config + optional: false + - secretRef: + name: ack-sagemaker-user-secrets + optional: true + image: public.ecr.aws/aws-controllers-k8s/sagemaker-controller:1.3.0 + livenessProbe: + httpGet: + path: /healthz + port: 8081 + initialDelaySeconds: 15 + periodSeconds: 20 + name: controller + ports: + - containerPort: 8080 + name: http + readinessProbe: + httpGet: + path: /readyz + port: 8081 + initialDelaySeconds: 5 + periodSeconds: 10 + resources: + limits: + cpu: 100m + memory: 300Mi + requests: + cpu: 100m + memory: 200Mi + securityContext: + allowPrivilegeEscalation: false + capabilities: + drop: + - ALL + privileged: false + runAsNonRoot: true + dnsPolicy: ClusterFirst + securityContext: + seccompProfile: + type: RuntimeDefault + serviceAccountName: ack-sagemaker-controller + terminationGracePeriodSeconds: 10 + permissions: + - rules: + - apiGroups: + - coordination.k8s.io + resources: + - leases + verbs: + - get + - list + - watch + - create + - update + - patch + - delete + - apiGroups: + - "" + resources: + - events + verbs: + - create + - patch + serviceAccountName: ack-sagemaker-controller + strategy: deployment + installModes: + - supported: true + type: OwnNamespace + - supported: true + type: SingleNamespace + - supported: true + type: MultiNamespace + - supported: true + type: AllNamespaces + keywords: + - sagemaker + - aws + - amazon + - ack + links: + - name: AWS Controllers for Kubernetes + url: https://github.com/aws-controllers-k8s/community + - name: Documentation + url: https://aws-controllers-k8s.github.io/community/ + - name: Amazon SageMaker Developer Resources + url: https://aws.amazon.com/sagemaker/developer-resources/ + maintainers: + - email: ack-maintainers@amazon.com + name: sagemaker maintainer team + maturity: alpha + provider: + name: Amazon, Inc. + url: https://aws.amazon.com + version: 1.3.0 diff --git a/operators/ack-sagemaker-controller/1.3.0/manifests/ack-sagemaker-metrics-service_v1_service.yaml b/operators/ack-sagemaker-controller/1.3.0/manifests/ack-sagemaker-metrics-service_v1_service.yaml new file mode 100644 index 00000000000..dcf8d328caf --- /dev/null +++ b/operators/ack-sagemaker-controller/1.3.0/manifests/ack-sagemaker-metrics-service_v1_service.yaml @@ -0,0 +1,16 @@ +apiVersion: v1 +kind: Service +metadata: + creationTimestamp: null + name: ack-sagemaker-metrics-service +spec: + ports: + - name: metricsport + port: 8080 + protocol: TCP + targetPort: http + selector: + app.kubernetes.io/name: ack-sagemaker-controller + type: ClusterIP +status: + loadBalancer: {} diff --git a/operators/ack-sagemaker-controller/1.3.0/manifests/ack-sagemaker-reader_rbac.authorization.k8s.io_v1_role.yaml b/operators/ack-sagemaker-controller/1.3.0/manifests/ack-sagemaker-reader_rbac.authorization.k8s.io_v1_role.yaml new file mode 100644 index 00000000000..017e2d81526 --- /dev/null +++ b/operators/ack-sagemaker-controller/1.3.0/manifests/ack-sagemaker-reader_rbac.authorization.k8s.io_v1_role.yaml @@ -0,0 +1,37 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + creationTimestamp: null + name: ack-sagemaker-reader +rules: +- apiGroups: + - sagemaker.services.k8s.aws + resources: + - apps + - dataqualityjobdefinitions + - domains + - endpoints + - endpointconfigs + - featuregroups + - hyperparametertuningjobs + - inferencecomponents + - labelingjobs + - models + - modelbiasjobdefinitions + - modelexplainabilityjobdefinitions + - modelpackages + - modelpackagegroups + - modelqualityjobdefinitions + - monitoringschedules + - notebookinstances + - notebookinstancelifecycleconfigs + - pipelines + - pipelineexecutions + - processingjobs + - trainingjobs + - transformjobs + - userprofiles + verbs: + - get + - list + - watch diff --git a/operators/ack-sagemaker-controller/1.3.0/manifests/ack-sagemaker-writer_rbac.authorization.k8s.io_v1_role.yaml b/operators/ack-sagemaker-controller/1.3.0/manifests/ack-sagemaker-writer_rbac.authorization.k8s.io_v1_role.yaml new file mode 100644 index 00000000000..419d59eb140 --- /dev/null +++ b/operators/ack-sagemaker-controller/1.3.0/manifests/ack-sagemaker-writer_rbac.authorization.k8s.io_v1_role.yaml @@ -0,0 +1,72 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + creationTimestamp: null + name: ack-sagemaker-writer +rules: +- apiGroups: + - sagemaker.services.k8s.aws + resources: + - apps + - dataqualityjobdefinitions + - domains + - endpoints + - endpointconfigs + - featuregroups + - hyperparametertuningjobs + - inferencecomponents + - labelingjobs + - models + - modelbiasjobdefinitions + - modelexplainabilityjobdefinitions + - modelpackages + - modelpackagegroups + - modelqualityjobdefinitions + - monitoringschedules + - notebookinstances + - notebookinstancelifecycleconfigs + - pipelines + - pipelineexecutions + - processingjobs + - trainingjobs + - transformjobs + - userprofiles + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - sagemaker.services.k8s.aws + resources: + - apps + - dataqualityjobdefinitions + - domains + - endpoints + - endpointconfigs + - featuregroups + - hyperparametertuningjobs + - inferencecomponents + - labelingjobs + - models + - modelbiasjobdefinitions + - modelexplainabilityjobdefinitions + - modelpackages + - modelpackagegroups + - modelqualityjobdefinitions + - monitoringschedules + - notebookinstances + - notebookinstancelifecycleconfigs + - pipelines + - pipelineexecutions + - processingjobs + - trainingjobs + - transformjobs + - userprofiles + verbs: + - get + - patch + - update diff --git a/operators/ack-sagemaker-controller/1.3.0/manifests/sagemaker.services.k8s.aws_apps.yaml b/operators/ack-sagemaker-controller/1.3.0/manifests/sagemaker.services.k8s.aws_apps.yaml new file mode 100644 index 00000000000..535af0d1df6 --- /dev/null +++ b/operators/ack-sagemaker-controller/1.3.0/manifests/sagemaker.services.k8s.aws_apps.yaml @@ -0,0 +1,201 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.16.2 + creationTimestamp: null + name: apps.sagemaker.services.k8s.aws +spec: + group: sagemaker.services.k8s.aws + names: + kind: App + listKind: AppList + plural: apps + singular: app + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.status + name: STATUS + type: string + name: v1alpha1 + schema: + openAPIV3Schema: + description: App is the Schema for the Apps API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: AppSpec defines the desired state of App. + properties: + appName: + description: |- + The name of the app. + + Regex Pattern: `^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}$` + type: string + appType: + description: The type of app. + type: string + domainID: + description: |- + The domain ID. + + Regex Pattern: `^d-(-*[a-z0-9]){1,61}$` + type: string + resourceSpec: + description: |- + The instance type and the Amazon Resource Name (ARN) of the SageMaker image + created on the instance. + + The value of InstanceType passed as part of the ResourceSpec in the CreateApp + call overrides the value passed as part of the ResourceSpec configured for + the user profile or the domain. If InstanceType is not specified in any of + those three ResourceSpec values for a KernelGateway app, the CreateApp call + fails with a request validation error. + properties: + instanceType: + type: string + lifecycleConfigARN: + type: string + sageMakerImageARN: + type: string + sageMakerImageVersionARN: + type: string + sageMakerImageVersionAlias: + type: string + type: object + tags: + description: |- + Each tag consists of a key and an optional value. Tag keys must be unique + per resource. + items: + description: |- + A tag object that consists of a key and an optional value, used to manage + metadata for SageMaker Amazon Web Services resources. + + You can add tags to notebook instances, training jobs, hyperparameter tuning + jobs, batch transform jobs, models, labeling jobs, work teams, endpoint configurations, + and endpoints. For more information on adding tags to SageMaker resources, + see AddTags (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AddTags.html). + + For more information on adding metadata to your Amazon Web Services resources + with tagging, see Tagging Amazon Web Services resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html). + For advice on best practices for managing Amazon Web Services resources with + tagging, see Tagging Best Practices: Implement an Effective Amazon Web Services + Resource Tagging Strategy (https://d1.awsstatic.com/whitepapers/aws-tagging-best-practices.pdf). + properties: + key: + type: string + value: + type: string + type: object + type: array + userProfileName: + description: |- + The user profile name. If this value is not set, then SpaceName must be set. + + Regex Pattern: `^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}$` + type: string + required: + - appName + - appType + - domainID + type: object + status: + description: AppStatus defines the observed state of App + properties: + ackResourceMetadata: + description: |- + All CRs managed by ACK have a common `Status.ACKResourceMetadata` member + that is used to contain resource sync state, account ownership, + constructed ARN for the resource + properties: + arn: + description: |- + ARN is the Amazon Resource Name for the resource. This is a + globally-unique identifier and is set only by the ACK service controller + once the controller has orchestrated the creation of the resource OR + when it has verified that an "adopted" resource (a resource where the + ARN annotation was set by the Kubernetes user on the CR) exists and + matches the supplied CR's Spec field values. + https://github.com/aws/aws-controllers-k8s/issues/270 + type: string + ownerAccountID: + description: |- + OwnerAccountID is the AWS Account ID of the account that owns the + backend AWS service API resource. + type: string + region: + description: Region is the AWS region in which the resource exists + or will exist. + type: string + required: + - ownerAccountID + - region + type: object + conditions: + description: |- + All CRs managed by ACK have a common `Status.Conditions` member that + contains a collection of `ackv1alpha1.Condition` objects that describe + the various terminal states of the CR and its backend AWS service API + resource + items: + description: |- + Condition is the common struct used by all CRDs managed by ACK service + controllers to indicate terminal states of the CR and its backend AWS + service API resource + properties: + lastTransitionTime: + description: Last time the condition transitioned from one status + to another. + format: date-time + type: string + message: + description: A human readable message indicating details about + the transition. + type: string + reason: + description: The reason for the condition's last transition. + type: string + status: + description: Status of the condition, one of True, False, Unknown. + type: string + type: + description: Type is the type of the Condition + type: string + required: + - status + - type + type: object + type: array + status: + description: The status. + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: null + storedVersions: null diff --git a/operators/ack-sagemaker-controller/1.3.0/manifests/sagemaker.services.k8s.aws_dataqualityjobdefinitions.yaml b/operators/ack-sagemaker-controller/1.3.0/manifests/sagemaker.services.k8s.aws_dataqualityjobdefinitions.yaml new file mode 100644 index 00000000000..2c0498b3d7c --- /dev/null +++ b/operators/ack-sagemaker-controller/1.3.0/manifests/sagemaker.services.k8s.aws_dataqualityjobdefinitions.yaml @@ -0,0 +1,320 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.16.2 + creationTimestamp: null + name: dataqualityjobdefinitions.sagemaker.services.k8s.aws +spec: + group: sagemaker.services.k8s.aws + names: + kind: DataQualityJobDefinition + listKind: DataQualityJobDefinitionList + plural: dataqualityjobdefinitions + singular: dataqualityjobdefinition + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: DataQualityJobDefinition is the Schema for the DataQualityJobDefinitions + API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: DataQualityJobDefinitionSpec defines the desired state of + DataQualityJobDefinition. + properties: + dataQualityAppSpecification: + description: Specifies the container that runs the monitoring job. + properties: + containerArguments: + items: + type: string + type: array + containerEntrypoint: + items: + type: string + type: array + environment: + additionalProperties: + type: string + type: object + imageURI: + type: string + postAnalyticsProcessorSourceURI: + type: string + recordPreprocessorSourceURI: + type: string + type: object + dataQualityBaselineConfig: + description: Configures the constraints and baselines for the monitoring + job. + properties: + baseliningJobName: + type: string + constraintsResource: + description: The constraints resource for a monitoring job. + properties: + s3URI: + type: string + type: object + statisticsResource: + description: The statistics resource for a monitoring job. + properties: + s3URI: + type: string + type: object + type: object + dataQualityJobInput: + description: |- + A list of inputs for the monitoring job. Currently endpoints are supported + as monitoring inputs. + properties: + endpointInput: + description: Input object for the endpoint + properties: + endTimeOffset: + type: string + endpointName: + type: string + excludeFeaturesAttribute: + type: string + featuresAttribute: + type: string + inferenceAttribute: + type: string + localPath: + type: string + probabilityAttribute: + type: string + probabilityThresholdAttribute: + type: number + s3DataDistributionType: + type: string + s3InputMode: + type: string + startTimeOffset: + type: string + type: object + type: object + dataQualityJobOutputConfig: + description: The output configuration for monitoring jobs. + properties: + kmsKeyID: + type: string + monitoringOutputs: + items: + description: The output object for a monitoring job. + properties: + s3Output: + description: |- + Information about where and how you want to store the results of a monitoring + job. + properties: + localPath: + type: string + s3URI: + type: string + s3UploadMode: + type: string + type: object + type: object + type: array + type: object + jobDefinitionName: + description: |- + The name for the monitoring job definition. + + Regex Pattern: `^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}$` + type: string + jobResources: + description: Identifies the resources to deploy for a monitoring job. + properties: + clusterConfig: + description: Configuration for the cluster used to run model monitoring + jobs. + properties: + instanceCount: + format: int64 + type: integer + instanceType: + type: string + volumeKMSKeyID: + type: string + volumeSizeInGB: + format: int64 + type: integer + type: object + type: object + networkConfig: + description: Specifies networking configuration for the monitoring + job. + properties: + enableInterContainerTrafficEncryption: + type: boolean + enableNetworkIsolation: + type: boolean + vpcConfig: + description: |- + Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, + hosted models, and compute resources have access to. You can control access + to and from your resources by configuring a VPC. For more information, see + Give SageMaker Access to Resources in your Amazon VPC (https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html). + properties: + securityGroupIDs: + items: + type: string + type: array + subnets: + items: + type: string + type: array + type: object + type: object + roleARN: + description: |- + The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume + to perform tasks on your behalf. + + Regex Pattern: `^arn:aws[a-z\-]*:iam::\d{12}:role/?[a-zA-Z_0-9+=,.@\-_/]+$` + type: string + stoppingCondition: + description: A time limit for how long the monitoring job is allowed + to run before stopping. + properties: + maxRuntimeInSeconds: + format: int64 + type: integer + type: object + tags: + description: |- + (Optional) An array of key-value pairs. For more information, see Using Cost + Allocation Tags (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-whatURL) + in the Amazon Web Services Billing and Cost Management User Guide. + items: + description: |- + A tag object that consists of a key and an optional value, used to manage + metadata for SageMaker Amazon Web Services resources. + + You can add tags to notebook instances, training jobs, hyperparameter tuning + jobs, batch transform jobs, models, labeling jobs, work teams, endpoint configurations, + and endpoints. For more information on adding tags to SageMaker resources, + see AddTags (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AddTags.html). + + For more information on adding metadata to your Amazon Web Services resources + with tagging, see Tagging Amazon Web Services resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html). + For advice on best practices for managing Amazon Web Services resources with + tagging, see Tagging Best Practices: Implement an Effective Amazon Web Services + Resource Tagging Strategy (https://d1.awsstatic.com/whitepapers/aws-tagging-best-practices.pdf). + properties: + key: + type: string + value: + type: string + type: object + type: array + required: + - dataQualityAppSpecification + - dataQualityJobInput + - dataQualityJobOutputConfig + - jobDefinitionName + - jobResources + - roleARN + type: object + status: + description: DataQualityJobDefinitionStatus defines the observed state + of DataQualityJobDefinition + properties: + ackResourceMetadata: + description: |- + All CRs managed by ACK have a common `Status.ACKResourceMetadata` member + that is used to contain resource sync state, account ownership, + constructed ARN for the resource + properties: + arn: + description: |- + ARN is the Amazon Resource Name for the resource. This is a + globally-unique identifier and is set only by the ACK service controller + once the controller has orchestrated the creation of the resource OR + when it has verified that an "adopted" resource (a resource where the + ARN annotation was set by the Kubernetes user on the CR) exists and + matches the supplied CR's Spec field values. + https://github.com/aws/aws-controllers-k8s/issues/270 + type: string + ownerAccountID: + description: |- + OwnerAccountID is the AWS Account ID of the account that owns the + backend AWS service API resource. + type: string + region: + description: Region is the AWS region in which the resource exists + or will exist. + type: string + required: + - ownerAccountID + - region + type: object + conditions: + description: |- + All CRs managed by ACK have a common `Status.Conditions` member that + contains a collection of `ackv1alpha1.Condition` objects that describe + the various terminal states of the CR and its backend AWS service API + resource + items: + description: |- + Condition is the common struct used by all CRDs managed by ACK service + controllers to indicate terminal states of the CR and its backend AWS + service API resource + properties: + lastTransitionTime: + description: Last time the condition transitioned from one status + to another. + format: date-time + type: string + message: + description: A human readable message indicating details about + the transition. + type: string + reason: + description: The reason for the condition's last transition. + type: string + status: + description: Status of the condition, one of True, False, Unknown. + type: string + type: + description: Type is the type of the Condition + type: string + required: + - status + - type + type: object + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: null + storedVersions: null diff --git a/operators/ack-sagemaker-controller/1.3.0/manifests/sagemaker.services.k8s.aws_domains.yaml b/operators/ack-sagemaker-controller/1.3.0/manifests/sagemaker.services.k8s.aws_domains.yaml new file mode 100644 index 00000000000..5a8c35abccc --- /dev/null +++ b/operators/ack-sagemaker-controller/1.3.0/manifests/sagemaker.services.k8s.aws_domains.yaml @@ -0,0 +1,516 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.16.2 + creationTimestamp: null + name: domains.sagemaker.services.k8s.aws +spec: + group: sagemaker.services.k8s.aws + names: + kind: Domain + listKind: DomainList + plural: domains + singular: domain + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.domainID + name: DOMAIN-ID + type: string + - jsonPath: .status.status + name: STATUS + type: string + name: v1alpha1 + schema: + openAPIV3Schema: + description: Domain is the Schema for the Domains API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: DomainSpec defines the desired state of Domain. + properties: + appNetworkAccessType: + description: |- + Specifies the VPC used for non-EFS traffic. The default value is PublicInternetOnly. + + * PublicInternetOnly - Non-EFS traffic is through a VPC managed by Amazon + SageMaker, which allows direct internet access + + * VpcOnly - All traffic is through the specified VPC and subnets + type: string + appSecurityGroupManagement: + description: |- + The entity that creates and manages the required security groups for inter-app + communication in VPCOnly mode. Required when CreateDomain.AppNetworkAccessType + is VPCOnly and DomainSettings.RStudioServerProDomainSettings.DomainExecutionRoleArn + is provided. If setting up the domain for use with RStudio, this value must + be set to Service. + type: string + authMode: + description: The mode of authentication that members use to access + the domain. + type: string + defaultUserSettings: + description: |- + The default settings to use to create a user profile when UserSettings isn't + specified in the call to the CreateUserProfile API. + + SecurityGroups is aggregated when specified in both calls. For all other + settings in UserSettings, the values specified in CreateUserProfile take + precedence over those specified in CreateDomain. + properties: + codeEditorAppSettings: + description: |- + The Code Editor application settings. + + For more information about Code Editor, see Get started with Code Editor + in Amazon SageMaker (https://docs.aws.amazon.com/sagemaker/latest/dg/code-editor.html). + properties: + defaultResourceSpec: + description: |- + Specifies the ARN's of a SageMaker image and SageMaker image version, and + the instance type that the version runs on. + properties: + instanceType: + type: string + lifecycleConfigARN: + type: string + sageMakerImageARN: + type: string + sageMakerImageVersionARN: + type: string + sageMakerImageVersionAlias: + type: string + type: object + lifecycleConfigARNs: + items: + type: string + type: array + type: object + customFileSystemConfigs: + items: + description: |- + The settings for assigning a custom file system to a user profile or space + for an Amazon SageMaker Domain. Permitted users can access this file system + in Amazon SageMaker Studio. + properties: + efsFileSystemConfig: + description: |- + The settings for assigning a custom Amazon EFS file system to a user profile + or space for an Amazon SageMaker Domain. + properties: + fileSystemID: + type: string + fileSystemPath: + type: string + type: object + type: object + type: array + customPosixUserConfig: + description: Details about the POSIX identity that is used for + file system operations. + properties: + gid: + format: int64 + type: integer + uid: + format: int64 + type: integer + type: object + defaultLandingURI: + type: string + executionRole: + type: string + jupyterLabAppSettings: + description: The settings for the JupyterLab application. + properties: + customImages: + items: + description: |- + A custom SageMaker image. For more information, see Bring your own SageMaker + image (https://docs.aws.amazon.com/sagemaker/latest/dg/studio-byoi.html). + properties: + appImageConfigName: + type: string + imageName: + type: string + imageVersionNumber: + format: int64 + type: integer + type: object + type: array + defaultResourceSpec: + description: |- + Specifies the ARN's of a SageMaker image and SageMaker image version, and + the instance type that the version runs on. + properties: + instanceType: + type: string + lifecycleConfigARN: + type: string + sageMakerImageARN: + type: string + sageMakerImageVersionARN: + type: string + sageMakerImageVersionAlias: + type: string + type: object + lifecycleConfigARNs: + items: + type: string + type: array + type: object + jupyterServerAppSettings: + description: The JupyterServer app settings. + properties: + defaultResourceSpec: + description: |- + Specifies the ARN's of a SageMaker image and SageMaker image version, and + the instance type that the version runs on. + properties: + instanceType: + type: string + lifecycleConfigARN: + type: string + sageMakerImageARN: + type: string + sageMakerImageVersionARN: + type: string + sageMakerImageVersionAlias: + type: string + type: object + lifecycleConfigARNs: + items: + type: string + type: array + type: object + kernelGatewayAppSettings: + description: The KernelGateway app settings. + properties: + customImages: + items: + description: |- + A custom SageMaker image. For more information, see Bring your own SageMaker + image (https://docs.aws.amazon.com/sagemaker/latest/dg/studio-byoi.html). + properties: + appImageConfigName: + type: string + imageName: + type: string + imageVersionNumber: + format: int64 + type: integer + type: object + type: array + defaultResourceSpec: + description: |- + Specifies the ARN's of a SageMaker image and SageMaker image version, and + the instance type that the version runs on. + properties: + instanceType: + type: string + lifecycleConfigARN: + type: string + sageMakerImageARN: + type: string + sageMakerImageVersionARN: + type: string + sageMakerImageVersionAlias: + type: string + type: object + lifecycleConfigARNs: + items: + type: string + type: array + type: object + rStudioServerProAppSettings: + description: |- + A collection of settings that configure user interaction with the RStudioServerPro + app. + properties: + accessStatus: + type: string + userGroup: + type: string + type: object + securityGroups: + items: + type: string + type: array + sharingSettings: + description: |- + Specifies options for sharing Amazon SageMaker Studio notebooks. These settings + are specified as part of DefaultUserSettings when the CreateDomain API is + called, and as part of UserSettings when the CreateUserProfile API is called. + When SharingSettings is not specified, notebook sharing isn't allowed. + properties: + notebookOutputOption: + type: string + s3KMSKeyID: + type: string + s3OutputPath: + type: string + type: object + spaceStorageSettings: + description: The default storage settings for a space. + properties: + defaultEBSStorageSettings: + description: |- + A collection of default EBS storage settings that apply to spaces created + within a domain or user profile. + properties: + defaultEBSVolumeSizeInGb: + format: int64 + type: integer + maximumEBSVolumeSizeInGb: + format: int64 + type: integer + type: object + type: object + studioWebPortal: + type: string + tensorBoardAppSettings: + description: The TensorBoard app settings. + properties: + defaultResourceSpec: + description: |- + Specifies the ARN's of a SageMaker image and SageMaker image version, and + the instance type that the version runs on. + properties: + instanceType: + type: string + lifecycleConfigARN: + type: string + sageMakerImageARN: + type: string + sageMakerImageVersionARN: + type: string + sageMakerImageVersionAlias: + type: string + type: object + type: object + type: object + domainName: + description: |- + A name for the domain. + + Regex Pattern: `^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}$` + type: string + domainSettings: + description: A collection of Domain settings. + properties: + dockerSettings: + description: A collection of settings that configure the domain's + Docker interaction. + properties: + enableDockerAccess: + type: string + vpcOnlyTrustedAccounts: + items: + type: string + type: array + type: object + rStudioServerProDomainSettings: + description: |- + A collection of settings that configure the RStudioServerPro Domain-level + app. + properties: + defaultResourceSpec: + description: |- + Specifies the ARN's of a SageMaker image and SageMaker image version, and + the instance type that the version runs on. + properties: + instanceType: + type: string + lifecycleConfigARN: + type: string + sageMakerImageARN: + type: string + sageMakerImageVersionARN: + type: string + sageMakerImageVersionAlias: + type: string + type: object + domainExecutionRoleARN: + type: string + rStudioConnectURL: + type: string + rStudioPackageManagerURL: + type: string + type: object + securityGroupIDs: + items: + type: string + type: array + type: object + homeEFSFileSystemKMSKeyID: + description: |- + Use KmsKeyId. + + Regex Pattern: `^[a-zA-Z0-9:/_-]*$` + type: string + kmsKeyID: + description: |- + SageMaker uses Amazon Web Services KMS to encrypt EFS and EBS volumes attached + to the domain with an Amazon Web Services managed key by default. For more + control, specify a customer managed key. + + Regex Pattern: `^[a-zA-Z0-9:/_-]*$` + type: string + subnetIDs: + description: The VPC subnets that the domain uses for communication. + items: + type: string + type: array + tags: + description: |- + Tags to associated with the Domain. Each tag consists of a key and an optional + value. Tag keys must be unique per resource. Tags are searchable using the + Search API. + + Tags that you specify for the Domain are also added to all Apps that the + Domain launches. + items: + description: |- + A tag object that consists of a key and an optional value, used to manage + metadata for SageMaker Amazon Web Services resources. + + You can add tags to notebook instances, training jobs, hyperparameter tuning + jobs, batch transform jobs, models, labeling jobs, work teams, endpoint configurations, + and endpoints. For more information on adding tags to SageMaker resources, + see AddTags (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AddTags.html). + + For more information on adding metadata to your Amazon Web Services resources + with tagging, see Tagging Amazon Web Services resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html). + For advice on best practices for managing Amazon Web Services resources with + tagging, see Tagging Best Practices: Implement an Effective Amazon Web Services + Resource Tagging Strategy (https://d1.awsstatic.com/whitepapers/aws-tagging-best-practices.pdf). + properties: + key: + type: string + value: + type: string + type: object + type: array + vpcID: + description: |- + The ID of the Amazon Virtual Private Cloud (VPC) that the domain uses for + communication. + + Regex Pattern: `^[-0-9a-zA-Z]+$` + type: string + required: + - authMode + - defaultUserSettings + - domainName + - subnetIDs + - vpcID + type: object + status: + description: DomainStatus defines the observed state of Domain + properties: + ackResourceMetadata: + description: |- + All CRs managed by ACK have a common `Status.ACKResourceMetadata` member + that is used to contain resource sync state, account ownership, + constructed ARN for the resource + properties: + arn: + description: |- + ARN is the Amazon Resource Name for the resource. This is a + globally-unique identifier and is set only by the ACK service controller + once the controller has orchestrated the creation of the resource OR + when it has verified that an "adopted" resource (a resource where the + ARN annotation was set by the Kubernetes user on the CR) exists and + matches the supplied CR's Spec field values. + https://github.com/aws/aws-controllers-k8s/issues/270 + type: string + ownerAccountID: + description: |- + OwnerAccountID is the AWS Account ID of the account that owns the + backend AWS service API resource. + type: string + region: + description: Region is the AWS region in which the resource exists + or will exist. + type: string + required: + - ownerAccountID + - region + type: object + conditions: + description: |- + All CRs managed by ACK have a common `Status.Conditions` member that + contains a collection of `ackv1alpha1.Condition` objects that describe + the various terminal states of the CR and its backend AWS service API + resource + items: + description: |- + Condition is the common struct used by all CRDs managed by ACK service + controllers to indicate terminal states of the CR and its backend AWS + service API resource + properties: + lastTransitionTime: + description: Last time the condition transitioned from one status + to another. + format: date-time + type: string + message: + description: A human readable message indicating details about + the transition. + type: string + reason: + description: The reason for the condition's last transition. + type: string + status: + description: Status of the condition, one of True, False, Unknown. + type: string + type: + description: Type is the type of the Condition + type: string + required: + - status + - type + type: object + type: array + domainID: + description: |- + The domain ID. + + Regex Pattern: `^d-(-*[a-z0-9]){1,61}$` + type: string + status: + description: The status. + type: string + url: + description: The URL to the created domain. + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: null + storedVersions: null diff --git a/operators/ack-sagemaker-controller/1.3.0/manifests/sagemaker.services.k8s.aws_endpointconfigs.yaml b/operators/ack-sagemaker-controller/1.3.0/manifests/sagemaker.services.k8s.aws_endpointconfigs.yaml new file mode 100644 index 00000000000..7048af4fad0 --- /dev/null +++ b/operators/ack-sagemaker-controller/1.3.0/manifests/sagemaker.services.k8s.aws_endpointconfigs.yaml @@ -0,0 +1,392 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.16.2 + creationTimestamp: null + name: endpointconfigs.sagemaker.services.k8s.aws +spec: + group: sagemaker.services.k8s.aws + names: + kind: EndpointConfig + listKind: EndpointConfigList + plural: endpointconfigs + singular: endpointconfig + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: EndpointConfig is the Schema for the EndpointConfigs API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: EndpointConfigSpec defines the desired state of EndpointConfig. + properties: + asyncInferenceConfig: + description: |- + Specifies configuration for how an endpoint performs asynchronous inference. + This is a required field in order for your Endpoint to be invoked using InvokeEndpointAsync + (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_runtime_InvokeEndpointAsync.html). + properties: + clientConfig: + description: |- + Configures the behavior of the client used by SageMaker to interact with + the model container during asynchronous inference. + properties: + maxConcurrentInvocationsPerInstance: + format: int64 + type: integer + type: object + outputConfig: + description: Specifies the configuration for asynchronous inference + invocation outputs. + properties: + kmsKeyID: + type: string + notificationConfig: + description: |- + Specifies the configuration for notifications of inference results for asynchronous + inference. + properties: + errorTopic: + type: string + includeInferenceResponseIn: + items: + type: string + type: array + successTopic: + type: string + type: object + s3FailurePath: + type: string + s3OutputPath: + type: string + type: object + type: object + dataCaptureConfig: + description: Configuration to control how SageMaker captures inference + data. + properties: + captureContentTypeHeader: + description: |- + Configuration specifying how to treat different headers. If no headers are + specified Amazon SageMaker will by default base64 encode when capturing the + data. + properties: + csvContentTypes: + items: + type: string + type: array + jsonContentTypes: + items: + type: string + type: array + type: object + captureOptions: + items: + description: Specifies data Model Monitor will capture. + properties: + captureMode: + type: string + type: object + type: array + destinationS3URI: + type: string + enableCapture: + type: boolean + initialSamplingPercentage: + format: int64 + type: integer + kmsKeyID: + type: string + type: object + enableNetworkIsolation: + description: |- + Sets whether all model containers deployed to the endpoint are isolated. + If they are, no inbound or outbound network calls can be made to or from + the model containers. + type: boolean + endpointConfigName: + description: |- + The name of the endpoint configuration. You specify this name in a CreateEndpoint + (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html) + request. + + Regex Pattern: `^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}$` + type: string + executionRoleARN: + description: |- + The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume + to perform actions on your behalf. For more information, see SageMaker Roles + (https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles.html). + + To be able to pass this role to Amazon SageMaker, the caller of this action + must have the iam:PassRole permission. + + Regex Pattern: `^arn:aws[a-z\-]*:iam::\d{12}:role/?[a-zA-Z_0-9+=,.@\-_/]+$` + type: string + kmsKeyID: + description: |- + The Amazon Resource Name (ARN) of a Amazon Web Services Key Management Service + key that SageMaker uses to encrypt data on the storage volume attached to + the ML compute instance that hosts the endpoint. + + The KmsKeyId can be any of the following formats: + + * Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab + + * Key ARN: arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab + + * Alias name: alias/ExampleAlias + + * Alias name ARN: arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias + + The KMS key policy must grant permission to the IAM role that you specify + in your CreateEndpoint, UpdateEndpoint requests. For more information, refer + to the Amazon Web Services Key Management Service section Using Key Policies + in Amazon Web Services KMS (https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) + + Certain Nitro-based instances include local storage, dependent on the instance + type. Local storage volumes are encrypted using a hardware module on the + instance. You can't request a KmsKeyId when using an instance type with local + storage. If any of the models that you specify in the ProductionVariants + parameter use nitro-based instances with local storage, do not specify a + value for the KmsKeyId parameter. If you specify a value for KmsKeyId when + using any nitro-based instances with local storage, the call to CreateEndpointConfig + fails. + + For a list of instance types that support local instance storage, see Instance + Store Volumes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes). + + For more information about local instance storage encryption, see SSD Instance + Store Volumes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ssd-instance-store.html). + + Regex Pattern: `^[a-zA-Z0-9:/_-]*$` + type: string + productionVariants: + description: |- + An array of ProductionVariant objects, one for each model that you want to + host at this endpoint. + items: + description: |- + Identifies a model that you want to host and the resources chosen to deploy + for hosting it. If you are deploying multiple models, tell SageMaker how + to distribute traffic among the models by specifying variant weights. For + more information on production variants, check Production variants (https://docs.aws.amazon.com/sagemaker/latest/dg/model-ab-testing.html). + properties: + acceleratorType: + type: string + containerStartupHealthCheckTimeoutInSeconds: + format: int64 + type: integer + coreDumpConfig: + description: |- + Specifies configuration for a core dump from the model container when the + process crashes. + properties: + destinationS3URI: + type: string + kmsKeyID: + type: string + type: object + enableSSMAccess: + type: boolean + initialInstanceCount: + format: int64 + type: integer + initialVariantWeight: + type: number + instanceType: + type: string + managedInstanceScaling: + description: |- + Settings that control the range in the number of instances that the endpoint + provisions as it scales up or down to accommodate traffic. + properties: + maxInstanceCount: + format: int64 + type: integer + minInstanceCount: + format: int64 + type: integer + status: + type: string + type: object + modelDataDownloadTimeoutInSeconds: + format: int64 + type: integer + modelName: + type: string + routingConfig: + description: |- + Settings that control how the endpoint routes incoming traffic to the instances + that the endpoint hosts. + properties: + routingStrategy: + type: string + type: object + serverlessConfig: + description: Specifies the serverless configuration for an endpoint + variant. + properties: + maxConcurrency: + format: int64 + type: integer + memorySizeInMB: + format: int64 + type: integer + provisionedConcurrency: + format: int64 + type: integer + type: object + variantName: + type: string + volumeSizeInGB: + format: int64 + type: integer + type: object + type: array + tags: + description: |- + An array of key-value pairs. You can use tags to categorize your Amazon Web + Services resources in different ways, for example, by purpose, owner, or + environment. For more information, see Tagging Amazon Web Services Resources + (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html). + items: + description: |- + A tag object that consists of a key and an optional value, used to manage + metadata for SageMaker Amazon Web Services resources. + + You can add tags to notebook instances, training jobs, hyperparameter tuning + jobs, batch transform jobs, models, labeling jobs, work teams, endpoint configurations, + and endpoints. For more information on adding tags to SageMaker resources, + see AddTags (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AddTags.html). + + For more information on adding metadata to your Amazon Web Services resources + with tagging, see Tagging Amazon Web Services resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html). + For advice on best practices for managing Amazon Web Services resources with + tagging, see Tagging Best Practices: Implement an Effective Amazon Web Services + Resource Tagging Strategy (https://d1.awsstatic.com/whitepapers/aws-tagging-best-practices.pdf). + properties: + key: + type: string + value: + type: string + type: object + type: array + vpcConfig: + description: |- + Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, + hosted models, and compute resources have access to. You can control access + to and from your resources by configuring a VPC. For more information, see + Give SageMaker Access to Resources in your Amazon VPC (https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html). + properties: + securityGroupIDs: + items: + type: string + type: array + subnets: + items: + type: string + type: array + type: object + required: + - endpointConfigName + - productionVariants + type: object + status: + description: EndpointConfigStatus defines the observed state of EndpointConfig + properties: + ackResourceMetadata: + description: |- + All CRs managed by ACK have a common `Status.ACKResourceMetadata` member + that is used to contain resource sync state, account ownership, + constructed ARN for the resource + properties: + arn: + description: |- + ARN is the Amazon Resource Name for the resource. This is a + globally-unique identifier and is set only by the ACK service controller + once the controller has orchestrated the creation of the resource OR + when it has verified that an "adopted" resource (a resource where the + ARN annotation was set by the Kubernetes user on the CR) exists and + matches the supplied CR's Spec field values. + https://github.com/aws/aws-controllers-k8s/issues/270 + type: string + ownerAccountID: + description: |- + OwnerAccountID is the AWS Account ID of the account that owns the + backend AWS service API resource. + type: string + region: + description: Region is the AWS region in which the resource exists + or will exist. + type: string + required: + - ownerAccountID + - region + type: object + conditions: + description: |- + All CRs managed by ACK have a common `Status.Conditions` member that + contains a collection of `ackv1alpha1.Condition` objects that describe + the various terminal states of the CR and its backend AWS service API + resource + items: + description: |- + Condition is the common struct used by all CRDs managed by ACK service + controllers to indicate terminal states of the CR and its backend AWS + service API resource + properties: + lastTransitionTime: + description: Last time the condition transitioned from one status + to another. + format: date-time + type: string + message: + description: A human readable message indicating details about + the transition. + type: string + reason: + description: The reason for the condition's last transition. + type: string + status: + description: Status of the condition, one of True, False, Unknown. + type: string + type: + description: Type is the type of the Condition + type: string + required: + - status + - type + type: object + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: null + storedVersions: null diff --git a/operators/ack-sagemaker-controller/1.3.0/manifests/sagemaker.services.k8s.aws_endpoints.yaml b/operators/ack-sagemaker-controller/1.3.0/manifests/sagemaker.services.k8s.aws_endpoints.yaml new file mode 100644 index 00000000000..0a73d047571 --- /dev/null +++ b/operators/ack-sagemaker-controller/1.3.0/manifests/sagemaker.services.k8s.aws_endpoints.yaml @@ -0,0 +1,589 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.16.2 + creationTimestamp: null + name: endpoints.sagemaker.services.k8s.aws +spec: + group: sagemaker.services.k8s.aws + names: + kind: Endpoint + listKind: EndpointList + plural: endpoints + singular: endpoint + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.failureReason + name: FAILURE-REASON + priority: 1 + type: string + - jsonPath: .status.endpointStatus + name: STATUS + type: string + name: v1alpha1 + schema: + openAPIV3Schema: + description: Endpoint is the Schema for the Endpoints API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: |- + EndpointSpec defines the desired state of Endpoint. + + A hosted endpoint for real-time inference. + properties: + deploymentConfig: + description: |- + The deployment configuration for an endpoint, which contains the desired + deployment strategy and rollback configurations. + properties: + autoRollbackConfiguration: + description: |- + Automatic rollback configuration for handling endpoint deployment failures + and recovery. + properties: + alarms: + items: + description: An Amazon CloudWatch alarm configured to monitor + metrics on an endpoint. + properties: + alarmName: + type: string + type: object + type: array + type: object + blueGreenUpdatePolicy: + description: |- + Update policy for a blue/green deployment. If this update policy is specified, + SageMaker creates a new fleet during the deployment while maintaining the + old fleet. SageMaker flips traffic to the new fleet according to the specified + traffic routing configuration. Only one update policy should be used in the + deployment configuration. If no update policy is specified, SageMaker uses + a blue/green deployment strategy with all at once traffic shifting by default. + properties: + maximumExecutionTimeoutInSeconds: + format: int64 + type: integer + terminationWaitInSeconds: + format: int64 + type: integer + trafficRoutingConfiguration: + description: |- + Defines the traffic routing strategy during an endpoint deployment to shift + traffic from the old fleet to the new fleet. + properties: + canarySize: + description: |- + Specifies the type and size of the endpoint capacity to activate for a blue/green + deployment, a rolling deployment, or a rollback strategy. You can specify + your batches as either instance count or the overall percentage or your fleet. + + For a rollback strategy, if you don't specify the fields in this object, + or if you set the Value to 100%, then SageMaker uses a blue/green rollback + strategy and rolls all traffic back to the blue fleet. + properties: + type_: + type: string + value: + format: int64 + type: integer + type: object + linearStepSize: + description: |- + Specifies the type and size of the endpoint capacity to activate for a blue/green + deployment, a rolling deployment, or a rollback strategy. You can specify + your batches as either instance count or the overall percentage or your fleet. + + For a rollback strategy, if you don't specify the fields in this object, + or if you set the Value to 100%, then SageMaker uses a blue/green rollback + strategy and rolls all traffic back to the blue fleet. + properties: + type_: + type: string + value: + format: int64 + type: integer + type: object + type_: + type: string + waitIntervalInSeconds: + format: int64 + type: integer + type: object + type: object + rollingUpdatePolicy: + description: Specifies a rolling deployment strategy for updating + a SageMaker endpoint. + properties: + maximumBatchSize: + description: |- + Specifies the type and size of the endpoint capacity to activate for a blue/green + deployment, a rolling deployment, or a rollback strategy. You can specify + your batches as either instance count or the overall percentage or your fleet. + + For a rollback strategy, if you don't specify the fields in this object, + or if you set the Value to 100%, then SageMaker uses a blue/green rollback + strategy and rolls all traffic back to the blue fleet. + properties: + type_: + type: string + value: + format: int64 + type: integer + type: object + maximumExecutionTimeoutInSeconds: + format: int64 + type: integer + rollbackMaximumBatchSize: + description: |- + Specifies the type and size of the endpoint capacity to activate for a blue/green + deployment, a rolling deployment, or a rollback strategy. You can specify + your batches as either instance count or the overall percentage or your fleet. + + For a rollback strategy, if you don't specify the fields in this object, + or if you set the Value to 100%, then SageMaker uses a blue/green rollback + strategy and rolls all traffic back to the blue fleet. + properties: + type_: + type: string + value: + format: int64 + type: integer + type: object + waitIntervalInSeconds: + format: int64 + type: integer + type: object + type: object + endpointConfigName: + description: |- + The name of an endpoint configuration. For more information, see CreateEndpointConfig + (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpointConfig.html). + + Regex Pattern: `^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}$` + type: string + endpointName: + description: |- + The name of the endpoint.The name must be unique within an Amazon Web Services + Region in your Amazon Web Services account. The name is case-insensitive + in CreateEndpoint, but the case is preserved and must be matched in InvokeEndpoint + (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_runtime_InvokeEndpoint.html). + + Regex Pattern: `^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}$` + type: string + tags: + description: |- + An array of key-value pairs. You can use tags to categorize your Amazon Web + Services resources in different ways, for example, by purpose, owner, or + environment. For more information, see Tagging Amazon Web Services Resources + (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html). + items: + description: |- + A tag object that consists of a key and an optional value, used to manage + metadata for SageMaker Amazon Web Services resources. + + You can add tags to notebook instances, training jobs, hyperparameter tuning + jobs, batch transform jobs, models, labeling jobs, work teams, endpoint configurations, + and endpoints. For more information on adding tags to SageMaker resources, + see AddTags (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AddTags.html). + + For more information on adding metadata to your Amazon Web Services resources + with tagging, see Tagging Amazon Web Services resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html). + For advice on best practices for managing Amazon Web Services resources with + tagging, see Tagging Best Practices: Implement an Effective Amazon Web Services + Resource Tagging Strategy (https://d1.awsstatic.com/whitepapers/aws-tagging-best-practices.pdf). + properties: + key: + type: string + value: + type: string + type: object + type: array + required: + - endpointConfigName + - endpointName + type: object + status: + description: EndpointStatus defines the observed state of Endpoint + properties: + ackResourceMetadata: + description: |- + All CRs managed by ACK have a common `Status.ACKResourceMetadata` member + that is used to contain resource sync state, account ownership, + constructed ARN for the resource + properties: + arn: + description: |- + ARN is the Amazon Resource Name for the resource. This is a + globally-unique identifier and is set only by the ACK service controller + once the controller has orchestrated the creation of the resource OR + when it has verified that an "adopted" resource (a resource where the + ARN annotation was set by the Kubernetes user on the CR) exists and + matches the supplied CR's Spec field values. + https://github.com/aws/aws-controllers-k8s/issues/270 + type: string + ownerAccountID: + description: |- + OwnerAccountID is the AWS Account ID of the account that owns the + backend AWS service API resource. + type: string + region: + description: Region is the AWS region in which the resource exists + or will exist. + type: string + required: + - ownerAccountID + - region + type: object + conditions: + description: |- + All CRs managed by ACK have a common `Status.Conditions` member that + contains a collection of `ackv1alpha1.Condition` objects that describe + the various terminal states of the CR and its backend AWS service API + resource + items: + description: |- + Condition is the common struct used by all CRDs managed by ACK service + controllers to indicate terminal states of the CR and its backend AWS + service API resource + properties: + lastTransitionTime: + description: Last time the condition transitioned from one status + to another. + format: date-time + type: string + message: + description: A human readable message indicating details about + the transition. + type: string + reason: + description: The reason for the condition's last transition. + type: string + status: + description: Status of the condition, one of True, False, Unknown. + type: string + type: + description: Type is the type of the Condition + type: string + required: + - status + - type + type: object + type: array + creationTime: + description: A timestamp that shows when the endpoint was created. + format: date-time + type: string + endpointStatus: + description: |- + The status of the endpoint. + + * OutOfService: Endpoint is not available to take incoming requests. + + * Creating: CreateEndpoint (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html) + is executing. + + * Updating: UpdateEndpoint (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html) + or UpdateEndpointWeightsAndCapacities (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpointWeightsAndCapacities.html) + is executing. + + * SystemUpdating: Endpoint is undergoing maintenance and cannot be updated + or deleted or re-scaled until it has completed. This maintenance operation + does not change any customer-specified values such as VPC config, KMS + encryption, model, instance type, or instance count. + + * RollingBack: Endpoint fails to scale up or down or change its variant + weight and is in the process of rolling back to its previous configuration. + Once the rollback completes, endpoint returns to an InService status. + This transitional status only applies to an endpoint that has autoscaling + enabled and is undergoing variant weight or capacity changes as part of + an UpdateEndpointWeightsAndCapacities (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpointWeightsAndCapacities.html) + call or when the UpdateEndpointWeightsAndCapacities (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpointWeightsAndCapacities.html) + operation is called explicitly. + + * InService: Endpoint is available to process incoming requests. + + * Deleting: DeleteEndpoint (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteEndpoint.html) + is executing. + + * Failed: Endpoint could not be created, updated, or re-scaled. Use the + FailureReason value returned by DescribeEndpoint (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpoint.html) + for information about the failure. DeleteEndpoint (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteEndpoint.html) + is the only operation that can be performed on a failed endpoint. + + * UpdateRollbackFailed: Both the rolling deployment and auto-rollback + failed. Your endpoint is in service with a mix of the old and new endpoint + configurations. For information about how to remedy this issue and restore + the endpoint's status to InService, see Rolling Deployments (https://docs.aws.amazon.com/sagemaker/latest/dg/deployment-guardrails-rolling.html). + type: string + failureReason: + description: If the status of the endpoint is Failed, the reason why + it failed. + type: string + lastModifiedTime: + description: A timestamp that shows when the endpoint was last modified. + format: date-time + type: string + pendingDeploymentSummary: + description: |- + Returns the summary of an in-progress deployment. This field is only returned + when the endpoint is creating or updating with a new endpoint configuration. + properties: + endpointConfigName: + type: string + productionVariants: + items: + description: |- + The production variant summary for a deployment when an endpoint is creating + or updating with the CreateEndpoint (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html) + or UpdateEndpoint (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html) + operations. Describes the VariantStatus , weight and capacity for a production + variant associated with an endpoint. + properties: + acceleratorType: + type: string + currentInstanceCount: + format: int64 + type: integer + currentServerlessConfig: + description: Specifies the serverless configuration for + an endpoint variant. + properties: + maxConcurrency: + format: int64 + type: integer + memorySizeInMB: + format: int64 + type: integer + provisionedConcurrency: + format: int64 + type: integer + type: object + currentWeight: + type: number + deployedImages: + items: + description: |- + Gets the Amazon EC2 Container Registry path of the docker image of the model + that is hosted in this ProductionVariant (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ProductionVariant.html). + + If you used the registry/repository[:tag] form to specify the image path + of the primary container when you created the model hosted in this ProductionVariant, + the path resolves to a path of the form registry/repository[@digest]. A digest + is a hash value that identifies a specific version of an image. For information + about Amazon ECR paths, see Pulling an Image (https://docs.aws.amazon.com/AmazonECR/latest/userguide/docker-pull-ecr-image.html) + in the Amazon ECR User Guide. + properties: + resolutionTime: + format: date-time + type: string + resolvedImage: + type: string + specifiedImage: + type: string + type: object + type: array + desiredInstanceCount: + format: int64 + type: integer + desiredServerlessConfig: + description: Specifies the serverless configuration for + an endpoint variant. + properties: + maxConcurrency: + format: int64 + type: integer + memorySizeInMB: + format: int64 + type: integer + provisionedConcurrency: + format: int64 + type: integer + type: object + desiredWeight: + type: number + instanceType: + type: string + managedInstanceScaling: + description: |- + Settings that control the range in the number of instances that the endpoint + provisions as it scales up or down to accommodate traffic. + properties: + maxInstanceCount: + format: int64 + type: integer + minInstanceCount: + format: int64 + type: integer + status: + type: string + type: object + routingConfig: + description: |- + Settings that control how the endpoint routes incoming traffic to the instances + that the endpoint hosts. + properties: + routingStrategy: + type: string + type: object + variantName: + type: string + variantStatus: + items: + description: Describes the status of the production variant. + properties: + startTime: + format: date-time + type: string + status: + type: string + statusMessage: + type: string + type: object + type: array + type: object + type: array + startTime: + format: date-time + type: string + type: object + productionVariants: + description: |- + An array of ProductionVariantSummary (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ProductionVariantSummary.html) + objects, one for each model hosted behind this endpoint. + items: + description: |- + Describes weight and capacities for a production variant associated with + an endpoint. If you sent a request to the UpdateEndpointWeightsAndCapacities + API and the endpoint status is Updating, you get different desired and current + values. + properties: + currentInstanceCount: + format: int64 + type: integer + currentServerlessConfig: + description: Specifies the serverless configuration for an endpoint + variant. + properties: + maxConcurrency: + format: int64 + type: integer + memorySizeInMB: + format: int64 + type: integer + provisionedConcurrency: + format: int64 + type: integer + type: object + currentWeight: + type: number + deployedImages: + items: + description: |- + Gets the Amazon EC2 Container Registry path of the docker image of the model + that is hosted in this ProductionVariant (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ProductionVariant.html). + + If you used the registry/repository[:tag] form to specify the image path + of the primary container when you created the model hosted in this ProductionVariant, + the path resolves to a path of the form registry/repository[@digest]. A digest + is a hash value that identifies a specific version of an image. For information + about Amazon ECR paths, see Pulling an Image (https://docs.aws.amazon.com/AmazonECR/latest/userguide/docker-pull-ecr-image.html) + in the Amazon ECR User Guide. + properties: + resolutionTime: + format: date-time + type: string + resolvedImage: + type: string + specifiedImage: + type: string + type: object + type: array + desiredInstanceCount: + format: int64 + type: integer + desiredServerlessConfig: + description: Specifies the serverless configuration for an endpoint + variant. + properties: + maxConcurrency: + format: int64 + type: integer + memorySizeInMB: + format: int64 + type: integer + provisionedConcurrency: + format: int64 + type: integer + type: object + desiredWeight: + type: number + managedInstanceScaling: + description: |- + Settings that control the range in the number of instances that the endpoint + provisions as it scales up or down to accommodate traffic. + properties: + maxInstanceCount: + format: int64 + type: integer + minInstanceCount: + format: int64 + type: integer + status: + type: string + type: object + routingConfig: + description: |- + Settings that control how the endpoint routes incoming traffic to the instances + that the endpoint hosts. + properties: + routingStrategy: + type: string + type: object + variantName: + type: string + variantStatus: + items: + description: Describes the status of the production variant. + properties: + startTime: + format: date-time + type: string + status: + type: string + statusMessage: + type: string + type: object + type: array + type: object + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: null + storedVersions: null diff --git a/operators/ack-sagemaker-controller/1.3.0/manifests/sagemaker.services.k8s.aws_featuregroups.yaml b/operators/ack-sagemaker-controller/1.3.0/manifests/sagemaker.services.k8s.aws_featuregroups.yaml new file mode 100644 index 00000000000..7c588221bc4 --- /dev/null +++ b/operators/ack-sagemaker-controller/1.3.0/manifests/sagemaker.services.k8s.aws_featuregroups.yaml @@ -0,0 +1,378 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.16.2 + creationTimestamp: null + name: featuregroups.sagemaker.services.k8s.aws +spec: + group: sagemaker.services.k8s.aws + names: + kind: FeatureGroup + listKind: FeatureGroupList + plural: featuregroups + singular: featuregroup + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.failureReason + name: FAILURE-REASON + priority: 1 + type: string + - jsonPath: .status.featureGroupStatus + name: STATUS + type: string + name: v1alpha1 + schema: + openAPIV3Schema: + description: FeatureGroup is the Schema for the FeatureGroups API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: |- + FeatureGroupSpec defines the desired state of FeatureGroup. + + Amazon SageMaker Feature Store stores features in a collection called Feature + Group. A Feature Group can be visualized as a table which has rows, with + a unique identifier for each row where each column in the table is a feature. + In principle, a Feature Group is composed of features and values per features. + properties: + description: + description: A free-form description of a FeatureGroup. + type: string + eventTimeFeatureName: + description: |- + The name of the feature that stores the EventTime of a Record in a FeatureGroup. + + An EventTime is a point in time when a new event occurs that corresponds + to the creation or update of a Record in a FeatureGroup. All Records in the + FeatureGroup must have a corresponding EventTime. + + An EventTime can be a String or Fractional. + + * Fractional: EventTime feature values must be a Unix timestamp in seconds. + + * String: EventTime feature values must be an ISO-8601 string in the format. + The following formats are supported yyyy-MM-dd'T'HH:mm:ssZ and yyyy-MM-dd'T'HH:mm:ss.SSSZ + where yyyy, MM, and dd represent the year, month, and day respectively + and HH, mm, ss, and if applicable, SSS represent the hour, month, second + and milliseconds respsectively. 'T' and Z are constants. + + Regex Pattern: `^[a-zA-Z0-9]([-_]*[a-zA-Z0-9]){0,63}$` + type: string + featureDefinitions: + description: |- + A list of Feature names and types. Name and Type is compulsory per Feature. + + Valid feature FeatureTypes are Integral, Fractional and String. + + FeatureNames cannot be any of the following: is_deleted, write_time, api_invocation_time + + You can create up to 2,500 FeatureDefinitions per FeatureGroup. + items: + description: |- + A list of features. You must include FeatureName and FeatureType. Valid feature + FeatureTypes are Integral, Fractional and String. + properties: + collectionConfig: + description: Configuration for your collection. + properties: + vectorConfig: + description: Configuration for your vector collection type. + properties: + dimension: + format: int64 + type: integer + type: object + type: object + collectionType: + type: string + featureName: + type: string + featureType: + type: string + type: object + type: array + featureGroupName: + description: |- + The name of the FeatureGroup. The name must be unique within an Amazon Web + Services Region in an Amazon Web Services account. + + The name: + + * Must start with an alphanumeric character. + + * Can only include alphanumeric characters, underscores, and hyphens. + Spaces are not allowed. + + Regex Pattern: `^[a-zA-Z0-9]([_-]*[a-zA-Z0-9]){0,63}$` + type: string + offlineStoreConfig: + description: |- + Use this to configure an OfflineFeatureStore. This parameter allows you to + specify: + + * The Amazon Simple Storage Service (Amazon S3) location of an OfflineStore. + + * A configuration for an Amazon Web Services Glue or Amazon Web Services + Hive data catalog. + + * An KMS encryption key to encrypt the Amazon S3 location used for OfflineStore. + If KMS encryption key is not specified, by default we encrypt all data + at rest using Amazon Web Services KMS key. By defining your bucket-level + key (https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-key.html) + for SSE, you can reduce Amazon Web Services KMS requests costs by up to + 99 percent. + + * Format for the offline store table. Supported formats are Glue (Default) + and Apache Iceberg (https://iceberg.apache.org/). + + To learn more about this parameter, see OfflineStoreConfig (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_OfflineStoreConfig.html). + properties: + dataCatalogConfig: + description: The meta data of the Glue table which serves as data + catalog for the OfflineStore. + properties: + catalog: + type: string + database: + type: string + tableName: + type: string + type: object + disableGlueTableCreation: + type: boolean + s3StorageConfig: + description: |- + The Amazon Simple Storage (Amazon S3) location and security configuration + for OfflineStore. + properties: + kmsKeyID: + type: string + resolvedOutputS3URI: + type: string + s3URI: + type: string + type: object + type: object + onlineStoreConfig: + description: |- + You can turn the OnlineStore on or off by specifying True for the EnableOnlineStore + flag in OnlineStoreConfig. + + You can also include an Amazon Web Services KMS key ID (KMSKeyId) for at-rest + encryption of the OnlineStore. + + The default value is False. + properties: + enableOnlineStore: + type: boolean + securityConfig: + description: The security configuration for OnlineStore. + properties: + kmsKeyID: + type: string + type: object + storageType: + type: string + ttlDuration: + description: |- + Time to live duration, where the record is hard deleted after the expiration + time is reached; ExpiresAt = EventTime + TtlDuration. For information on + HardDelete, see the DeleteRecord (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_feature_store_DeleteRecord.html) + API in the Amazon SageMaker API Reference guide. + properties: + unit: + type: string + value: + format: int64 + type: integer + type: object + type: object + recordIdentifierFeatureName: + description: |- + The name of the Feature whose value uniquely identifies a Record defined + in the FeatureStore. Only the latest record per identifier value will be + stored in the OnlineStore. RecordIdentifierFeatureName must be one of feature + definitions' names. + + You use the RecordIdentifierFeatureName to access data in a FeatureStore. + + This name: + + * Must start with an alphanumeric character. + + * Can only contains alphanumeric characters, hyphens, underscores. Spaces + are not allowed. + + Regex Pattern: `^[a-zA-Z0-9]([-_]*[a-zA-Z0-9]){0,63}$` + type: string + roleARN: + description: |- + The Amazon Resource Name (ARN) of the IAM execution role used to persist + data into the OfflineStore if an OfflineStoreConfig is provided. + + Regex Pattern: `^arn:aws[a-z\-]*:iam::\d{12}:role/?[a-zA-Z_0-9+=,.@\-_/]+$` + type: string + tags: + description: Tags used to identify Features in each FeatureGroup. + items: + description: |- + A tag object that consists of a key and an optional value, used to manage + metadata for SageMaker Amazon Web Services resources. + + You can add tags to notebook instances, training jobs, hyperparameter tuning + jobs, batch transform jobs, models, labeling jobs, work teams, endpoint configurations, + and endpoints. For more information on adding tags to SageMaker resources, + see AddTags (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AddTags.html). + + For more information on adding metadata to your Amazon Web Services resources + with tagging, see Tagging Amazon Web Services resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html). + For advice on best practices for managing Amazon Web Services resources with + tagging, see Tagging Best Practices: Implement an Effective Amazon Web Services + Resource Tagging Strategy (https://d1.awsstatic.com/whitepapers/aws-tagging-best-practices.pdf). + properties: + key: + type: string + value: + type: string + type: object + type: array + throughputConfig: + description: |- + Used to set feature group throughput configuration. There are two modes: + ON_DEMAND and PROVISIONED. With on-demand mode, you are charged for data + reads and writes that your application performs on your feature group. You + do not need to specify read and write throughput because Feature Store accommodates + your workloads as they ramp up and down. You can switch a feature group to + on-demand only once in a 24 hour period. With provisioned throughput mode, + you specify the read and write capacity per second that you expect your application + to require, and you are billed based on those limits. Exceeding provisioned + throughput will result in your requests being throttled. + + Note: PROVISIONED throughput mode is supported only for feature groups that + are offline-only, or use the Standard (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_OnlineStoreConfig.html#sagemaker-Type-OnlineStoreConfig-StorageType) + tier online store. + properties: + provisionedReadCapacityUnits: + format: int64 + type: integer + provisionedWriteCapacityUnits: + format: int64 + type: integer + throughputMode: + type: string + type: object + required: + - eventTimeFeatureName + - featureDefinitions + - featureGroupName + - recordIdentifierFeatureName + type: object + status: + description: FeatureGroupStatus defines the observed state of FeatureGroup + properties: + ackResourceMetadata: + description: |- + All CRs managed by ACK have a common `Status.ACKResourceMetadata` member + that is used to contain resource sync state, account ownership, + constructed ARN for the resource + properties: + arn: + description: |- + ARN is the Amazon Resource Name for the resource. This is a + globally-unique identifier and is set only by the ACK service controller + once the controller has orchestrated the creation of the resource OR + when it has verified that an "adopted" resource (a resource where the + ARN annotation was set by the Kubernetes user on the CR) exists and + matches the supplied CR's Spec field values. + https://github.com/aws/aws-controllers-k8s/issues/270 + type: string + ownerAccountID: + description: |- + OwnerAccountID is the AWS Account ID of the account that owns the + backend AWS service API resource. + type: string + region: + description: Region is the AWS region in which the resource exists + or will exist. + type: string + required: + - ownerAccountID + - region + type: object + conditions: + description: |- + All CRs managed by ACK have a common `Status.Conditions` member that + contains a collection of `ackv1alpha1.Condition` objects that describe + the various terminal states of the CR and its backend AWS service API + resource + items: + description: |- + Condition is the common struct used by all CRDs managed by ACK service + controllers to indicate terminal states of the CR and its backend AWS + service API resource + properties: + lastTransitionTime: + description: Last time the condition transitioned from one status + to another. + format: date-time + type: string + message: + description: A human readable message indicating details about + the transition. + type: string + reason: + description: The reason for the condition's last transition. + type: string + status: + description: Status of the condition, one of True, False, Unknown. + type: string + type: + description: Type is the type of the Condition + type: string + required: + - status + - type + type: object + type: array + failureReason: + description: |- + The reason that the FeatureGroup failed to be replicated in the OfflineStore. + This is failure can occur because: + + * The FeatureGroup could not be created in the OfflineStore. + + * The FeatureGroup could not be deleted from the OfflineStore. + type: string + featureGroupStatus: + description: The status of the feature group. + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: null + storedVersions: null diff --git a/operators/ack-sagemaker-controller/1.3.0/manifests/sagemaker.services.k8s.aws_hyperparametertuningjobs.yaml b/operators/ack-sagemaker-controller/1.3.0/manifests/sagemaker.services.k8s.aws_hyperparametertuningjobs.yaml new file mode 100644 index 00000000000..927b49c0d2f --- /dev/null +++ b/operators/ack-sagemaker-controller/1.3.0/manifests/sagemaker.services.k8s.aws_hyperparametertuningjobs.yaml @@ -0,0 +1,1273 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.16.2 + creationTimestamp: null + name: hyperparametertuningjobs.sagemaker.services.k8s.aws +spec: + group: sagemaker.services.k8s.aws + names: + kind: HyperParameterTuningJob + listKind: HyperParameterTuningJobList + plural: hyperparametertuningjobs + singular: hyperparametertuningjob + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.failureReason + name: FAILURE-REASON + priority: 1 + type: string + - jsonPath: .status.hyperParameterTuningJobStatus + name: STATUS + type: string + name: v1alpha1 + schema: + openAPIV3Schema: + description: HyperParameterTuningJob is the Schema for the HyperParameterTuningJobs + API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: HyperParameterTuningJobSpec defines the desired state of + HyperParameterTuningJob. + properties: + autotune: + description: |- + Configures SageMaker Automatic model tuning (AMT) to automatically find optimal + parameters for the following fields: + + * ParameterRanges (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HyperParameterTuningJobConfig.html#sagemaker-Type-HyperParameterTuningJobConfig-ParameterRanges): + The names and ranges of parameters that a hyperparameter tuning job can + optimize. + + * ResourceLimits (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ResourceLimits.html): + The maximum resources that can be used for a training job. These resources + include the maximum number of training jobs, the maximum runtime of a + tuning job, and the maximum number of training jobs to run at the same + time. + + * TrainingJobEarlyStoppingType (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HyperParameterTuningJobConfig.html#sagemaker-Type-HyperParameterTuningJobConfig-TrainingJobEarlyStoppingType): + A flag that specifies whether or not to use early stopping for training + jobs launched by a hyperparameter tuning job. + + * RetryStrategy (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HyperParameterTrainingJobDefinition.html#sagemaker-Type-HyperParameterTrainingJobDefinition-RetryStrategy): + The number of times to retry a training job. + + * Strategy (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HyperParameterTuningJobConfig.html): + Specifies how hyperparameter tuning chooses the combinations of hyperparameter + values to use for the training jobs that it launches. + + * ConvergenceDetected (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ConvergenceDetected.html): + A flag to indicate that Automatic model tuning (AMT) has detected model + convergence. + properties: + mode: + type: string + type: object + hyperParameterTuningJobConfig: + description: |- + The HyperParameterTuningJobConfig (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HyperParameterTuningJobConfig.html) + object that describes the tuning job, including the search strategy, the + objective metric used to evaluate training jobs, ranges of parameters to + search, and resource limits for the tuning job. For more information, see + How Hyperparameter Tuning Works (https://docs.aws.amazon.com/sagemaker/latest/dg/automatic-model-tuning-how-it-works.html). + properties: + hyperParameterTuningJobObjective: + description: |- + Defines the objective metric for a hyperparameter tuning job. Hyperparameter + tuning uses the value of this metric to evaluate the training jobs it launches, + and returns the training job that results in either the highest or lowest + value for this metric, depending on the value you specify for the Type parameter. + If you want to define a custom objective metric, see Define metrics and environment + variables (https://docs.aws.amazon.com/sagemaker/latest/dg/automatic-model-tuning-define-metrics-variables.html). + properties: + metricName: + type: string + type_: + type: string + type: object + parameterRanges: + description: |- + Specifies ranges of integer, continuous, and categorical hyperparameters + that a hyperparameter tuning job searches. The hyperparameter tuning job + launches training jobs with hyperparameter values within these ranges to + find the combination of values that result in the training job with the best + performance as measured by the objective metric of the hyperparameter tuning + job. + + The maximum number of items specified for Array Members refers to the maximum + number of hyperparameters for each range and also the maximum for the hyperparameter + tuning job itself. That is, the sum of the number of hyperparameters for + all the ranges can't exceed the maximum number specified. + properties: + autoParameters: + items: + description: |- + The name and an example value of the hyperparameter that you want to use + in Autotune. If Automatic model tuning (AMT) determines that your hyperparameter + is eligible for Autotune, an optimal hyperparameter range is selected for + you. + properties: + name: + type: string + valueHint: + type: string + type: object + type: array + categoricalParameterRanges: + items: + description: A list of categorical hyperparameters to tune. + properties: + name: + type: string + values: + items: + type: string + type: array + type: object + type: array + continuousParameterRanges: + items: + description: A list of continuous hyperparameters to tune. + properties: + maxValue: + type: string + minValue: + type: string + name: + type: string + scalingType: + type: string + type: object + type: array + integerParameterRanges: + items: + description: |- + For a hyperparameter of the integer type, specifies the range that a hyperparameter + tuning job searches. + properties: + maxValue: + type: string + minValue: + type: string + name: + type: string + scalingType: + type: string + type: object + type: array + type: object + resourceLimits: + description: |- + Specifies the maximum number of training jobs and parallel training jobs + that a hyperparameter tuning job can launch. + properties: + maxNumberOfTrainingJobs: + format: int64 + type: integer + maxParallelTrainingJobs: + format: int64 + type: integer + type: object + strategy: + description: |- + The strategy hyperparameter tuning uses to find the best combination of hyperparameters + for your model. + type: string + trainingJobEarlyStoppingType: + type: string + tuningJobCompletionCriteria: + description: The job completion criteria. + properties: + targetObjectiveMetricValue: + type: number + type: object + type: object + hyperParameterTuningJobName: + description: |- + The name of the tuning job. This name is the prefix for the names of all + training jobs that this tuning job launches. The name must be unique within + the same Amazon Web Services account and Amazon Web Services Region. The + name must have 1 to 32 characters. Valid characters are a-z, A-Z, 0-9, and + : + = @ _ % - (hyphen). The name is not case sensitive. + + Regex Pattern: `^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,31}$` + type: string + tags: + description: |- + An array of key-value pairs. You can use tags to categorize your Amazon Web + Services resources in different ways, for example, by purpose, owner, or + environment. For more information, see Tagging Amazon Web Services Resources + (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html). + + Tags that you specify for the tuning job are also added to all training jobs + that the tuning job launches. + items: + description: |- + A tag object that consists of a key and an optional value, used to manage + metadata for SageMaker Amazon Web Services resources. + + You can add tags to notebook instances, training jobs, hyperparameter tuning + jobs, batch transform jobs, models, labeling jobs, work teams, endpoint configurations, + and endpoints. For more information on adding tags to SageMaker resources, + see AddTags (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AddTags.html). + + For more information on adding metadata to your Amazon Web Services resources + with tagging, see Tagging Amazon Web Services resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html). + For advice on best practices for managing Amazon Web Services resources with + tagging, see Tagging Best Practices: Implement an Effective Amazon Web Services + Resource Tagging Strategy (https://d1.awsstatic.com/whitepapers/aws-tagging-best-practices.pdf). + properties: + key: + type: string + value: + type: string + type: object + type: array + trainingJobDefinition: + description: |- + The HyperParameterTrainingJobDefinition (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HyperParameterTrainingJobDefinition.html) + object that describes the training jobs that this tuning job launches, including + static hyperparameters, input data configuration, output data configuration, + resource configuration, and stopping condition. + properties: + algorithmSpecification: + description: |- + Specifies which training algorithm to use for training jobs that a hyperparameter + tuning job launches and the metrics to monitor. + properties: + algorithmName: + type: string + metricDefinitions: + items: + description: |- + Specifies a metric that the training algorithm writes to stderr or stdout. + You can view these logs to understand how your training job performs and + check for any errors encountered during training. SageMaker hyperparameter + tuning captures all defined metrics. Specify one of the defined metrics to + use as an objective metric using the TuningObjective (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HyperParameterTrainingJobDefinition.html#sagemaker-Type-HyperParameterTrainingJobDefinition-TuningObjective) + parameter in the HyperParameterTrainingJobDefinition API to evaluate job + performance during hyperparameter tuning. + properties: + name: + type: string + regex: + type: string + type: object + type: array + trainingImage: + type: string + trainingInputMode: + description: |- + The training input mode that the algorithm supports. For more information + about input modes, see Algorithms (https://docs.aws.amazon.com/sagemaker/latest/dg/algos.html). + + Pipe mode + + If an algorithm supports Pipe mode, Amazon SageMaker streams data directly + from Amazon S3 to the container. + + File mode + + If an algorithm supports File mode, SageMaker downloads the training data + from S3 to the provisioned ML storage volume, and mounts the directory to + the Docker volume for the training container. + + You must provision the ML storage volume with sufficient capacity to accommodate + the data downloaded from S3. In addition to the training data, the ML storage + volume also stores the output model. The algorithm container uses the ML + storage volume to also store intermediate information, if any. + + For distributed algorithms, training data is distributed uniformly. Your + training duration is predictable if the input data objects sizes are approximately + the same. SageMaker does not split the files any further for model training. + If the object sizes are skewed, training won't be optimal as the data distribution + is also skewed when one host in a training cluster is overloaded, thus becoming + a bottleneck in training. + + FastFile mode + + If an algorithm supports FastFile mode, SageMaker streams data directly from + S3 to the container with no code changes, and provides file system access + to the data. Users can author their training script to interact with these + files as if they were stored on disk. + + FastFile mode works best when the data is read sequentially. Augmented manifest + files aren't supported. The startup time is lower when there are fewer files + in the S3 bucket provided. + type: string + type: object + checkpointConfig: + description: |- + Contains information about the output location for managed spot training + checkpoint data. + properties: + localPath: + type: string + s3URI: + type: string + type: object + definitionName: + type: string + enableInterContainerTrafficEncryption: + type: boolean + enableManagedSpotTraining: + type: boolean + enableNetworkIsolation: + type: boolean + hyperParameterRanges: + description: |- + Specifies ranges of integer, continuous, and categorical hyperparameters + that a hyperparameter tuning job searches. The hyperparameter tuning job + launches training jobs with hyperparameter values within these ranges to + find the combination of values that result in the training job with the best + performance as measured by the objective metric of the hyperparameter tuning + job. + + The maximum number of items specified for Array Members refers to the maximum + number of hyperparameters for each range and also the maximum for the hyperparameter + tuning job itself. That is, the sum of the number of hyperparameters for + all the ranges can't exceed the maximum number specified. + properties: + autoParameters: + items: + description: |- + The name and an example value of the hyperparameter that you want to use + in Autotune. If Automatic model tuning (AMT) determines that your hyperparameter + is eligible for Autotune, an optimal hyperparameter range is selected for + you. + properties: + name: + type: string + valueHint: + type: string + type: object + type: array + categoricalParameterRanges: + items: + description: A list of categorical hyperparameters to tune. + properties: + name: + type: string + values: + items: + type: string + type: array + type: object + type: array + continuousParameterRanges: + items: + description: A list of continuous hyperparameters to tune. + properties: + maxValue: + type: string + minValue: + type: string + name: + type: string + scalingType: + type: string + type: object + type: array + integerParameterRanges: + items: + description: |- + For a hyperparameter of the integer type, specifies the range that a hyperparameter + tuning job searches. + properties: + maxValue: + type: string + minValue: + type: string + name: + type: string + scalingType: + type: string + type: object + type: array + type: object + inputDataConfig: + items: + description: A channel is a named input source that training + algorithms can consume. + properties: + channelName: + type: string + compressionType: + type: string + contentType: + type: string + dataSource: + description: Describes the location of the channel data. + properties: + fileSystemDataSource: + description: Specifies a file system data source for + a channel. + properties: + directoryPath: + type: string + fileSystemAccessMode: + type: string + fileSystemID: + type: string + fileSystemType: + type: string + type: object + s3DataSource: + description: |- + Describes the S3 data source. + + Your input bucket must be in the same Amazon Web Services region as your + training job. + properties: + attributeNames: + items: + type: string + type: array + instanceGroupNames: + items: + type: string + type: array + s3DataDistributionType: + type: string + s3DataType: + type: string + s3URI: + type: string + type: object + type: object + inputMode: + description: |- + The training input mode that the algorithm supports. For more information + about input modes, see Algorithms (https://docs.aws.amazon.com/sagemaker/latest/dg/algos.html). + + Pipe mode + + If an algorithm supports Pipe mode, Amazon SageMaker streams data directly + from Amazon S3 to the container. + + File mode + + If an algorithm supports File mode, SageMaker downloads the training data + from S3 to the provisioned ML storage volume, and mounts the directory to + the Docker volume for the training container. + + You must provision the ML storage volume with sufficient capacity to accommodate + the data downloaded from S3. In addition to the training data, the ML storage + volume also stores the output model. The algorithm container uses the ML + storage volume to also store intermediate information, if any. + + For distributed algorithms, training data is distributed uniformly. Your + training duration is predictable if the input data objects sizes are approximately + the same. SageMaker does not split the files any further for model training. + If the object sizes are skewed, training won't be optimal as the data distribution + is also skewed when one host in a training cluster is overloaded, thus becoming + a bottleneck in training. + + FastFile mode + + If an algorithm supports FastFile mode, SageMaker streams data directly from + S3 to the container with no code changes, and provides file system access + to the data. Users can author their training script to interact with these + files as if they were stored on disk. + + FastFile mode works best when the data is read sequentially. Augmented manifest + files aren't supported. The startup time is lower when there are fewer files + in the S3 bucket provided. + type: string + recordWrapperType: + type: string + shuffleConfig: + description: |- + A configuration for a shuffle option for input data in a channel. If you + use S3Prefix for S3DataType, the results of the S3 key prefix matches are + shuffled. If you use ManifestFile, the order of the S3 object references + in the ManifestFile is shuffled. If you use AugmentedManifestFile, the order + of the JSON lines in the AugmentedManifestFile is shuffled. The shuffling + order is determined using the Seed value. + + For Pipe input mode, when ShuffleConfig is specified shuffling is done at + the start of every epoch. With large datasets, this ensures that the order + of the training data is different for each epoch, and it helps reduce bias + and possible overfitting. In a multi-node training job when ShuffleConfig + is combined with S3DataDistributionType of ShardedByS3Key, the data is shuffled + across nodes so that the content sent to a particular node on the first epoch + might be sent to a different node on the second epoch. + properties: + seed: + format: int64 + type: integer + type: object + type: object + type: array + outputDataConfig: + description: Provides information about how to store model training + results (model artifacts). + properties: + compressionType: + type: string + kmsKeyID: + type: string + s3OutputPath: + type: string + type: object + resourceConfig: + description: |- + Describes the resources, including machine learning (ML) compute instances + and ML storage volumes, to use for model training. + properties: + instanceCount: + format: int64 + type: integer + instanceGroups: + items: + description: |- + Defines an instance group for heterogeneous cluster training. When requesting + a training job using the CreateTrainingJob (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html) + API, you can configure multiple instance groups . + properties: + instanceCount: + format: int64 + type: integer + instanceGroupName: + type: string + instanceType: + type: string + type: object + type: array + instanceType: + type: string + keepAlivePeriodInSeconds: + description: |- + Optional. Customer requested period in seconds for which the Training cluster + is kept alive after the job is finished. + format: int64 + type: integer + volumeKMSKeyID: + type: string + volumeSizeInGB: + format: int64 + type: integer + type: object + retryStrategy: + description: |- + The retry strategy to use when a training job fails due to an InternalServerError. + RetryStrategy is specified as part of the CreateTrainingJob and CreateHyperParameterTuningJob + requests. You can add the StoppingCondition parameter to the request to limit + the training time for the complete job. + properties: + maximumRetryAttempts: + format: int64 + type: integer + type: object + roleARN: + type: string + staticHyperParameters: + additionalProperties: + type: string + type: object + stoppingCondition: + description: |- + Specifies a limit to how long a job can run. When the job reaches the time + limit, SageMaker ends the job. Use this API to cap costs. + + To stop a training job, SageMaker sends the algorithm the SIGTERM signal, + which delays job termination for 120 seconds. Algorithms can use this 120-second + window to save the model artifacts, so the results of training are not lost. + + The training algorithms provided by SageMaker automatically save the intermediate + results of a model training job when possible. This attempt to save artifacts + is only a best effort case as model might not be in a state from which it + can be saved. For example, if training has just started, the model might + not be ready to save. When saved, this intermediate data is a valid model + artifact. You can use it to create a model with CreateModel. + + The Neural Topic Model (NTM) currently does not support saving intermediate + model artifacts. When training NTMs, make sure that the maximum runtime is + sufficient for the training job to complete. + properties: + maxPendingTimeInSeconds: + description: Maximum job scheduler pending time in seconds. + format: int64 + type: integer + maxRuntimeInSeconds: + format: int64 + type: integer + maxWaitTimeInSeconds: + format: int64 + type: integer + type: object + tuningObjective: + description: |- + Defines the objective metric for a hyperparameter tuning job. Hyperparameter + tuning uses the value of this metric to evaluate the training jobs it launches, + and returns the training job that results in either the highest or lowest + value for this metric, depending on the value you specify for the Type parameter. + If you want to define a custom objective metric, see Define metrics and environment + variables (https://docs.aws.amazon.com/sagemaker/latest/dg/automatic-model-tuning-define-metrics-variables.html). + properties: + metricName: + type: string + type_: + type: string + type: object + vpcConfig: + description: |- + Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, + hosted models, and compute resources have access to. You can control access + to and from your resources by configuring a VPC. For more information, see + Give SageMaker Access to Resources in your Amazon VPC (https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html). + properties: + securityGroupIDs: + items: + type: string + type: array + subnets: + items: + type: string + type: array + type: object + type: object + trainingJobDefinitions: + description: |- + A list of the HyperParameterTrainingJobDefinition (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HyperParameterTrainingJobDefinition.html) + objects launched for this tuning job. + items: + description: Defines the training jobs launched by a hyperparameter + tuning job. + properties: + algorithmSpecification: + description: |- + Specifies which training algorithm to use for training jobs that a hyperparameter + tuning job launches and the metrics to monitor. + properties: + algorithmName: + type: string + metricDefinitions: + items: + description: |- + Specifies a metric that the training algorithm writes to stderr or stdout. + You can view these logs to understand how your training job performs and + check for any errors encountered during training. SageMaker hyperparameter + tuning captures all defined metrics. Specify one of the defined metrics to + use as an objective metric using the TuningObjective (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HyperParameterTrainingJobDefinition.html#sagemaker-Type-HyperParameterTrainingJobDefinition-TuningObjective) + parameter in the HyperParameterTrainingJobDefinition API to evaluate job + performance during hyperparameter tuning. + properties: + name: + type: string + regex: + type: string + type: object + type: array + trainingImage: + type: string + trainingInputMode: + description: |- + The training input mode that the algorithm supports. For more information + about input modes, see Algorithms (https://docs.aws.amazon.com/sagemaker/latest/dg/algos.html). + + Pipe mode + + If an algorithm supports Pipe mode, Amazon SageMaker streams data directly + from Amazon S3 to the container. + + File mode + + If an algorithm supports File mode, SageMaker downloads the training data + from S3 to the provisioned ML storage volume, and mounts the directory to + the Docker volume for the training container. + + You must provision the ML storage volume with sufficient capacity to accommodate + the data downloaded from S3. In addition to the training data, the ML storage + volume also stores the output model. The algorithm container uses the ML + storage volume to also store intermediate information, if any. + + For distributed algorithms, training data is distributed uniformly. Your + training duration is predictable if the input data objects sizes are approximately + the same. SageMaker does not split the files any further for model training. + If the object sizes are skewed, training won't be optimal as the data distribution + is also skewed when one host in a training cluster is overloaded, thus becoming + a bottleneck in training. + + FastFile mode + + If an algorithm supports FastFile mode, SageMaker streams data directly from + S3 to the container with no code changes, and provides file system access + to the data. Users can author their training script to interact with these + files as if they were stored on disk. + + FastFile mode works best when the data is read sequentially. Augmented manifest + files aren't supported. The startup time is lower when there are fewer files + in the S3 bucket provided. + type: string + type: object + checkpointConfig: + description: |- + Contains information about the output location for managed spot training + checkpoint data. + properties: + localPath: + type: string + s3URI: + type: string + type: object + definitionName: + type: string + enableInterContainerTrafficEncryption: + type: boolean + enableManagedSpotTraining: + type: boolean + enableNetworkIsolation: + type: boolean + hyperParameterRanges: + description: |- + Specifies ranges of integer, continuous, and categorical hyperparameters + that a hyperparameter tuning job searches. The hyperparameter tuning job + launches training jobs with hyperparameter values within these ranges to + find the combination of values that result in the training job with the best + performance as measured by the objective metric of the hyperparameter tuning + job. + + The maximum number of items specified for Array Members refers to the maximum + number of hyperparameters for each range and also the maximum for the hyperparameter + tuning job itself. That is, the sum of the number of hyperparameters for + all the ranges can't exceed the maximum number specified. + properties: + autoParameters: + items: + description: |- + The name and an example value of the hyperparameter that you want to use + in Autotune. If Automatic model tuning (AMT) determines that your hyperparameter + is eligible for Autotune, an optimal hyperparameter range is selected for + you. + properties: + name: + type: string + valueHint: + type: string + type: object + type: array + categoricalParameterRanges: + items: + description: A list of categorical hyperparameters to + tune. + properties: + name: + type: string + values: + items: + type: string + type: array + type: object + type: array + continuousParameterRanges: + items: + description: A list of continuous hyperparameters to tune. + properties: + maxValue: + type: string + minValue: + type: string + name: + type: string + scalingType: + type: string + type: object + type: array + integerParameterRanges: + items: + description: |- + For a hyperparameter of the integer type, specifies the range that a hyperparameter + tuning job searches. + properties: + maxValue: + type: string + minValue: + type: string + name: + type: string + scalingType: + type: string + type: object + type: array + type: object + inputDataConfig: + items: + description: A channel is a named input source that training + algorithms can consume. + properties: + channelName: + type: string + compressionType: + type: string + contentType: + type: string + dataSource: + description: Describes the location of the channel data. + properties: + fileSystemDataSource: + description: Specifies a file system data source for + a channel. + properties: + directoryPath: + type: string + fileSystemAccessMode: + type: string + fileSystemID: + type: string + fileSystemType: + type: string + type: object + s3DataSource: + description: |- + Describes the S3 data source. + + Your input bucket must be in the same Amazon Web Services region as your + training job. + properties: + attributeNames: + items: + type: string + type: array + instanceGroupNames: + items: + type: string + type: array + s3DataDistributionType: + type: string + s3DataType: + type: string + s3URI: + type: string + type: object + type: object + inputMode: + description: |- + The training input mode that the algorithm supports. For more information + about input modes, see Algorithms (https://docs.aws.amazon.com/sagemaker/latest/dg/algos.html). + + Pipe mode + + If an algorithm supports Pipe mode, Amazon SageMaker streams data directly + from Amazon S3 to the container. + + File mode + + If an algorithm supports File mode, SageMaker downloads the training data + from S3 to the provisioned ML storage volume, and mounts the directory to + the Docker volume for the training container. + + You must provision the ML storage volume with sufficient capacity to accommodate + the data downloaded from S3. In addition to the training data, the ML storage + volume also stores the output model. The algorithm container uses the ML + storage volume to also store intermediate information, if any. + + For distributed algorithms, training data is distributed uniformly. Your + training duration is predictable if the input data objects sizes are approximately + the same. SageMaker does not split the files any further for model training. + If the object sizes are skewed, training won't be optimal as the data distribution + is also skewed when one host in a training cluster is overloaded, thus becoming + a bottleneck in training. + + FastFile mode + + If an algorithm supports FastFile mode, SageMaker streams data directly from + S3 to the container with no code changes, and provides file system access + to the data. Users can author their training script to interact with these + files as if they were stored on disk. + + FastFile mode works best when the data is read sequentially. Augmented manifest + files aren't supported. The startup time is lower when there are fewer files + in the S3 bucket provided. + type: string + recordWrapperType: + type: string + shuffleConfig: + description: |- + A configuration for a shuffle option for input data in a channel. If you + use S3Prefix for S3DataType, the results of the S3 key prefix matches are + shuffled. If you use ManifestFile, the order of the S3 object references + in the ManifestFile is shuffled. If you use AugmentedManifestFile, the order + of the JSON lines in the AugmentedManifestFile is shuffled. The shuffling + order is determined using the Seed value. + + For Pipe input mode, when ShuffleConfig is specified shuffling is done at + the start of every epoch. With large datasets, this ensures that the order + of the training data is different for each epoch, and it helps reduce bias + and possible overfitting. In a multi-node training job when ShuffleConfig + is combined with S3DataDistributionType of ShardedByS3Key, the data is shuffled + across nodes so that the content sent to a particular node on the first epoch + might be sent to a different node on the second epoch. + properties: + seed: + format: int64 + type: integer + type: object + type: object + type: array + outputDataConfig: + description: Provides information about how to store model training + results (model artifacts). + properties: + compressionType: + type: string + kmsKeyID: + type: string + s3OutputPath: + type: string + type: object + resourceConfig: + description: |- + Describes the resources, including machine learning (ML) compute instances + and ML storage volumes, to use for model training. + properties: + instanceCount: + format: int64 + type: integer + instanceGroups: + items: + description: |- + Defines an instance group for heterogeneous cluster training. When requesting + a training job using the CreateTrainingJob (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html) + API, you can configure multiple instance groups . + properties: + instanceCount: + format: int64 + type: integer + instanceGroupName: + type: string + instanceType: + type: string + type: object + type: array + instanceType: + type: string + keepAlivePeriodInSeconds: + description: |- + Optional. Customer requested period in seconds for which the Training cluster + is kept alive after the job is finished. + format: int64 + type: integer + volumeKMSKeyID: + type: string + volumeSizeInGB: + format: int64 + type: integer + type: object + retryStrategy: + description: |- + The retry strategy to use when a training job fails due to an InternalServerError. + RetryStrategy is specified as part of the CreateTrainingJob and CreateHyperParameterTuningJob + requests. You can add the StoppingCondition parameter to the request to limit + the training time for the complete job. + properties: + maximumRetryAttempts: + format: int64 + type: integer + type: object + roleARN: + type: string + staticHyperParameters: + additionalProperties: + type: string + type: object + stoppingCondition: + description: |- + Specifies a limit to how long a job can run. When the job reaches the time + limit, SageMaker ends the job. Use this API to cap costs. + + To stop a training job, SageMaker sends the algorithm the SIGTERM signal, + which delays job termination for 120 seconds. Algorithms can use this 120-second + window to save the model artifacts, so the results of training are not lost. + + The training algorithms provided by SageMaker automatically save the intermediate + results of a model training job when possible. This attempt to save artifacts + is only a best effort case as model might not be in a state from which it + can be saved. For example, if training has just started, the model might + not be ready to save. When saved, this intermediate data is a valid model + artifact. You can use it to create a model with CreateModel. + + The Neural Topic Model (NTM) currently does not support saving intermediate + model artifacts. When training NTMs, make sure that the maximum runtime is + sufficient for the training job to complete. + properties: + maxPendingTimeInSeconds: + description: Maximum job scheduler pending time in seconds. + format: int64 + type: integer + maxRuntimeInSeconds: + format: int64 + type: integer + maxWaitTimeInSeconds: + format: int64 + type: integer + type: object + tuningObjective: + description: |- + Defines the objective metric for a hyperparameter tuning job. Hyperparameter + tuning uses the value of this metric to evaluate the training jobs it launches, + and returns the training job that results in either the highest or lowest + value for this metric, depending on the value you specify for the Type parameter. + If you want to define a custom objective metric, see Define metrics and environment + variables (https://docs.aws.amazon.com/sagemaker/latest/dg/automatic-model-tuning-define-metrics-variables.html). + properties: + metricName: + type: string + type_: + type: string + type: object + vpcConfig: + description: |- + Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, + hosted models, and compute resources have access to. You can control access + to and from your resources by configuring a VPC. For more information, see + Give SageMaker Access to Resources in your Amazon VPC (https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html). + properties: + securityGroupIDs: + items: + type: string + type: array + subnets: + items: + type: string + type: array + type: object + type: object + type: array + warmStartConfig: + description: |- + Specifies the configuration for starting the hyperparameter tuning job using + one or more previous tuning jobs as a starting point. The results of previous + tuning jobs are used to inform which combinations of hyperparameters to search + over in the new tuning job. + + All training jobs launched by the new hyperparameter tuning job are evaluated + by using the objective metric. If you specify IDENTICAL_DATA_AND_ALGORITHM + as the WarmStartType value for the warm start configuration, the training + job that performs the best in the new tuning job is compared to the best + training jobs from the parent tuning jobs. From these, the training job that + performs the best as measured by the objective metric is returned as the + overall best training job. + + All training jobs launched by parent hyperparameter tuning jobs and the new + hyperparameter tuning jobs count against the limit of training jobs for the + tuning job. + properties: + parentHyperParameterTuningJobs: + items: + description: |- + A previously completed or stopped hyperparameter tuning job to be used as + a starting point for a new hyperparameter tuning job. + properties: + hyperParameterTuningJobName: + type: string + type: object + type: array + warmStartType: + type: string + type: object + required: + - hyperParameterTuningJobConfig + - hyperParameterTuningJobName + type: object + status: + description: HyperParameterTuningJobStatus defines the observed state + of HyperParameterTuningJob + properties: + ackResourceMetadata: + description: |- + All CRs managed by ACK have a common `Status.ACKResourceMetadata` member + that is used to contain resource sync state, account ownership, + constructed ARN for the resource + properties: + arn: + description: |- + ARN is the Amazon Resource Name for the resource. This is a + globally-unique identifier and is set only by the ACK service controller + once the controller has orchestrated the creation of the resource OR + when it has verified that an "adopted" resource (a resource where the + ARN annotation was set by the Kubernetes user on the CR) exists and + matches the supplied CR's Spec field values. + https://github.com/aws/aws-controllers-k8s/issues/270 + type: string + ownerAccountID: + description: |- + OwnerAccountID is the AWS Account ID of the account that owns the + backend AWS service API resource. + type: string + region: + description: Region is the AWS region in which the resource exists + or will exist. + type: string + required: + - ownerAccountID + - region + type: object + bestTrainingJob: + description: |- + A TrainingJobSummary (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TrainingJobSummary.html) + object that describes the training job that completed with the best current + HyperParameterTuningJobObjective (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HyperParameterTuningJobObjective.html). + properties: + creationTime: + format: date-time + type: string + failureReason: + type: string + finalHyperParameterTuningJobObjectiveMetric: + description: |- + Shows the latest objective metric emitted by a training job that was launched + by a hyperparameter tuning job. You define the objective metric in the HyperParameterTuningJobObjective + parameter of HyperParameterTuningJobConfig (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HyperParameterTuningJobConfig.html). + properties: + metricName: + type: string + type_: + type: string + value: + type: number + type: object + objectiveStatus: + type: string + trainingEndTime: + format: date-time + type: string + trainingJobARN: + type: string + trainingJobDefinitionName: + type: string + trainingJobName: + type: string + trainingJobStatus: + type: string + trainingStartTime: + format: date-time + type: string + tunedHyperParameters: + additionalProperties: + type: string + type: object + tuningJobName: + type: string + type: object + conditions: + description: |- + All CRs managed by ACK have a common `Status.Conditions` member that + contains a collection of `ackv1alpha1.Condition` objects that describe + the various terminal states of the CR and its backend AWS service API + resource + items: + description: |- + Condition is the common struct used by all CRDs managed by ACK service + controllers to indicate terminal states of the CR and its backend AWS + service API resource + properties: + lastTransitionTime: + description: Last time the condition transitioned from one status + to another. + format: date-time + type: string + message: + description: A human readable message indicating details about + the transition. + type: string + reason: + description: The reason for the condition's last transition. + type: string + status: + description: Status of the condition, one of True, False, Unknown. + type: string + type: + description: Type is the type of the Condition + type: string + required: + - status + - type + type: object + type: array + failureReason: + description: If the tuning job failed, the reason it failed. + type: string + hyperParameterTuningJobStatus: + description: The status of the tuning job. + type: string + overallBestTrainingJob: + description: |- + If the hyperparameter tuning job is an warm start tuning job with a WarmStartType + of IDENTICAL_DATA_AND_ALGORITHM, this is the TrainingJobSummary (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TrainingJobSummary.html) + for the training job with the best objective metric value of all training + jobs launched by this tuning job and all parent jobs specified for the warm + start tuning job. + properties: + creationTime: + format: date-time + type: string + failureReason: + type: string + finalHyperParameterTuningJobObjectiveMetric: + description: |- + Shows the latest objective metric emitted by a training job that was launched + by a hyperparameter tuning job. You define the objective metric in the HyperParameterTuningJobObjective + parameter of HyperParameterTuningJobConfig (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HyperParameterTuningJobConfig.html). + properties: + metricName: + type: string + type_: + type: string + value: + type: number + type: object + objectiveStatus: + type: string + trainingEndTime: + format: date-time + type: string + trainingJobARN: + type: string + trainingJobDefinitionName: + type: string + trainingJobName: + type: string + trainingJobStatus: + type: string + trainingStartTime: + format: date-time + type: string + tunedHyperParameters: + additionalProperties: + type: string + type: object + tuningJobName: + type: string + type: object + type: object + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: null + storedVersions: null diff --git a/operators/ack-sagemaker-controller/1.3.0/manifests/sagemaker.services.k8s.aws_inferencecomponents.yaml b/operators/ack-sagemaker-controller/1.3.0/manifests/sagemaker.services.k8s.aws_inferencecomponents.yaml new file mode 100644 index 00000000000..585779fa9c8 --- /dev/null +++ b/operators/ack-sagemaker-controller/1.3.0/manifests/sagemaker.services.k8s.aws_inferencecomponents.yaml @@ -0,0 +1,264 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.16.2 + creationTimestamp: null + name: inferencecomponents.sagemaker.services.k8s.aws +spec: + group: sagemaker.services.k8s.aws + names: + kind: InferenceComponent + listKind: InferenceComponentList + plural: inferencecomponents + singular: inferencecomponent + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.failureReason + name: FAILURE-REASON + priority: 1 + type: string + - jsonPath: .status.inferenceComponentStatus + name: STATUS + type: string + name: v1alpha1 + schema: + openAPIV3Schema: + description: InferenceComponent is the Schema for the InferenceComponents + API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: InferenceComponentSpec defines the desired state of InferenceComponent. + properties: + endpointName: + description: |- + The name of an existing endpoint where you host the inference component. + + Regex Pattern: `^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}$` + type: string + inferenceComponentName: + description: |- + A unique name to assign to the inference component. + + Regex Pattern: `^[a-zA-Z0-9]([\-a-zA-Z0-9]*[a-zA-Z0-9])?$` + type: string + runtimeConfig: + description: Runtime settings for a model that is deployed with an + inference component. + properties: + copyCount: + format: int64 + type: integer + type: object + specification: + description: |- + Details about the resources to deploy with this inference component, including + the model, container, and compute resources. + properties: + computeResourceRequirements: + description: |- + Defines the compute resources to allocate to run a model, plus any adapter + models, that you assign to an inference component. These resources include + CPU cores, accelerators, and memory. + properties: + maxMemoryRequiredInMb: + format: int64 + type: integer + minMemoryRequiredInMb: + format: int64 + type: integer + numberOfAcceleratorDevicesRequired: + type: number + numberOfCPUCoresRequired: + type: number + type: object + container: + description: |- + Defines a container that provides the runtime environment for a model that + you deploy with an inference component. + properties: + artifactURL: + type: string + environment: + additionalProperties: + type: string + type: object + image: + type: string + type: object + modelName: + type: string + startupParameters: + description: Settings that take effect while the model container + starts up. + properties: + containerStartupHealthCheckTimeoutInSeconds: + format: int64 + type: integer + modelDataDownloadTimeoutInSeconds: + format: int64 + type: integer + type: object + type: object + tags: + description: |- + A list of key-value pairs associated with the model. For more information, + see Tagging Amazon Web Services resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) + in the Amazon Web Services General Reference. + items: + description: |- + A tag object that consists of a key and an optional value, used to manage + metadata for SageMaker Amazon Web Services resources. + + You can add tags to notebook instances, training jobs, hyperparameter tuning + jobs, batch transform jobs, models, labeling jobs, work teams, endpoint configurations, + and endpoints. For more information on adding tags to SageMaker resources, + see AddTags (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AddTags.html). + + For more information on adding metadata to your Amazon Web Services resources + with tagging, see Tagging Amazon Web Services resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html). + For advice on best practices for managing Amazon Web Services resources with + tagging, see Tagging Best Practices: Implement an Effective Amazon Web Services + Resource Tagging Strategy (https://d1.awsstatic.com/whitepapers/aws-tagging-best-practices.pdf). + properties: + key: + type: string + value: + type: string + type: object + type: array + variantName: + description: |- + The name of an existing production variant where you host the inference component. + + Regex Pattern: `^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}$` + type: string + required: + - endpointName + - inferenceComponentName + - specification + type: object + status: + description: InferenceComponentStatus defines the observed state of InferenceComponent + properties: + ackResourceMetadata: + description: |- + All CRs managed by ACK have a common `Status.ACKResourceMetadata` member + that is used to contain resource sync state, account ownership, + constructed ARN for the resource + properties: + arn: + description: |- + ARN is the Amazon Resource Name for the resource. This is a + globally-unique identifier and is set only by the ACK service controller + once the controller has orchestrated the creation of the resource OR + when it has verified that an "adopted" resource (a resource where the + ARN annotation was set by the Kubernetes user on the CR) exists and + matches the supplied CR's Spec field values. + https://github.com/aws/aws-controllers-k8s/issues/270 + type: string + ownerAccountID: + description: |- + OwnerAccountID is the AWS Account ID of the account that owns the + backend AWS service API resource. + type: string + region: + description: Region is the AWS region in which the resource exists + or will exist. + type: string + required: + - ownerAccountID + - region + type: object + conditions: + description: |- + All CRs managed by ACK have a common `Status.Conditions` member that + contains a collection of `ackv1alpha1.Condition` objects that describe + the various terminal states of the CR and its backend AWS service API + resource + items: + description: |- + Condition is the common struct used by all CRDs managed by ACK service + controllers to indicate terminal states of the CR and its backend AWS + service API resource + properties: + lastTransitionTime: + description: Last time the condition transitioned from one status + to another. + format: date-time + type: string + message: + description: A human readable message indicating details about + the transition. + type: string + reason: + description: The reason for the condition's last transition. + type: string + status: + description: Status of the condition, one of True, False, Unknown. + type: string + type: + description: Type is the type of the Condition + type: string + required: + - status + - type + type: object + type: array + creationTime: + description: The time when the inference component was created. + format: date-time + type: string + endpointName: + description: |- + The name of the endpoint that hosts the inference component. + + Regex Pattern: `^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}$` + type: string + failureReason: + description: If the inference component status is Failed, the reason + for the failure. + type: string + inferenceComponentStatus: + description: The status of the inference component. + type: string + lastModifiedTime: + description: The time when the inference component was last updated. + format: date-time + type: string + variantName: + description: |- + The name of the production variant that hosts the inference component. + + Regex Pattern: `^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}$` + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: null + storedVersions: null diff --git a/operators/ack-sagemaker-controller/1.3.0/manifests/sagemaker.services.k8s.aws_labelingjobs.yaml b/operators/ack-sagemaker-controller/1.3.0/manifests/sagemaker.services.k8s.aws_labelingjobs.yaml new file mode 100644 index 00000000000..a63dce6f84f --- /dev/null +++ b/operators/ack-sagemaker-controller/1.3.0/manifests/sagemaker.services.k8s.aws_labelingjobs.yaml @@ -0,0 +1,701 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.16.2 + creationTimestamp: null + name: labelingjobs.sagemaker.services.k8s.aws +spec: + group: sagemaker.services.k8s.aws + names: + kind: LabelingJob + listKind: LabelingJobList + plural: labelingjobs + singular: labelingjob + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.failureReason + name: FAILURE-REASON + priority: 1 + type: string + - jsonPath: .status.labelingJobStatus + name: STATUS + type: string + name: v1alpha1 + schema: + openAPIV3Schema: + description: LabelingJob is the Schema for the LabelingJobs API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: LabelingJobSpec defines the desired state of LabelingJob. + properties: + humanTaskConfig: + description: |- + Configures the labeling task and how it is presented to workers; including, + but not limited to price, keywords, and batch size (task count). + properties: + annotationConsolidationConfig: + description: |- + Configures how labels are consolidated across human workers and processes + output data. + properties: + annotationConsolidationLambdaARN: + type: string + type: object + maxConcurrentTaskCount: + format: int64 + type: integer + numberOfHumanWorkersPerDataObject: + format: int64 + type: integer + preHumanTaskLambdaARN: + type: string + publicWorkforceTaskPrice: + description: |- + Defines the amount of money paid to an Amazon Mechanical Turk worker for + each task performed. + + Use one of the following prices for bounding box tasks. Prices are in US + dollars and should be based on the complexity of the task; the longer it + takes in your initial testing, the more you should offer. + + * 0.036 + + * 0.048 + + * 0.060 + + * 0.072 + + * 0.120 + + * 0.240 + + * 0.360 + + * 0.480 + + * 0.600 + + * 0.720 + + * 0.840 + + * 0.960 + + * 1.080 + + * 1.200 + + Use one of the following prices for image classification, text classification, + and custom tasks. Prices are in US dollars. + + * 0.012 + + * 0.024 + + * 0.036 + + * 0.048 + + * 0.060 + + * 0.072 + + * 0.120 + + * 0.240 + + * 0.360 + + * 0.480 + + * 0.600 + + * 0.720 + + * 0.840 + + * 0.960 + + * 1.080 + + * 1.200 + + Use one of the following prices for semantic segmentation tasks. Prices are + in US dollars. + + * 0.840 + + * 0.960 + + * 1.080 + + * 1.200 + + Use one of the following prices for Textract AnalyzeDocument Important Form + Key Amazon Augmented AI review tasks. Prices are in US dollars. + + * 2.400 + + * 2.280 + + * 2.160 + + * 2.040 + + * 1.920 + + * 1.800 + + * 1.680 + + * 1.560 + + * 1.440 + + * 1.320 + + * 1.200 + + * 1.080 + + * 0.960 + + * 0.840 + + * 0.720 + + * 0.600 + + * 0.480 + + * 0.360 + + * 0.240 + + * 0.120 + + * 0.072 + + * 0.060 + + * 0.048 + + * 0.036 + + * 0.024 + + * 0.012 + + Use one of the following prices for Rekognition DetectModerationLabels Amazon + Augmented AI review tasks. Prices are in US dollars. + + * 1.200 + + * 1.080 + + * 0.960 + + * 0.840 + + * 0.720 + + * 0.600 + + * 0.480 + + * 0.360 + + * 0.240 + + * 0.120 + + * 0.072 + + * 0.060 + + * 0.048 + + * 0.036 + + * 0.024 + + * 0.012 + + Use one of the following prices for Amazon Augmented AI custom human review + tasks. Prices are in US dollars. + + * 1.200 + + * 1.080 + + * 0.960 + + * 0.840 + + * 0.720 + + * 0.600 + + * 0.480 + + * 0.360 + + * 0.240 + + * 0.120 + + * 0.072 + + * 0.060 + + * 0.048 + + * 0.036 + + * 0.024 + + * 0.012 + properties: + amountInUsd: + description: Represents an amount of money in United States + dollars. + properties: + cents: + format: int64 + type: integer + dollars: + format: int64 + type: integer + tenthFractionsOfACent: + format: int64 + type: integer + type: object + type: object + taskAvailabilityLifetimeInSeconds: + format: int64 + type: integer + taskDescription: + type: string + taskKeywords: + items: + type: string + type: array + taskTimeLimitInSeconds: + format: int64 + type: integer + taskTitle: + type: string + uiConfig: + description: |- + Provided configuration information for the worker UI for a labeling job. + Provide either HumanTaskUiArn or UiTemplateS3Uri. + + For named entity recognition, 3D point cloud and video frame labeling jobs, + use HumanTaskUiArn. + + For all other Ground Truth built-in task types and custom task types, use + UiTemplateS3Uri to specify the location of a worker task template in Amazon + S3. + properties: + humanTaskUIARN: + type: string + uiTemplateS3URI: + type: string + type: object + workteamARN: + type: string + type: object + inputConfig: + description: |- + Input data for the labeling job, such as the Amazon S3 location of the data + objects and the location of the manifest file that describes the data objects. + + You must specify at least one of the following: S3DataSource or SnsDataSource. + + * Use SnsDataSource to specify an SNS input topic for a streaming labeling + job. If you do not specify and SNS input topic ARN, Ground Truth will + create a one-time labeling job that stops after all data objects in the + input manifest file have been labeled. + + * Use S3DataSource to specify an input manifest file for both streaming + and one-time labeling jobs. Adding an S3DataSource is optional if you + use SnsDataSource to create a streaming labeling job. + + If you use the Amazon Mechanical Turk workforce, your input data should not + include confidential information, personal information or protected health + information. Use ContentClassifiers to specify that your data is free of + personally identifiable information and adult content. + properties: + dataAttributes: + description: |- + Attributes of the data specified by the customer. Use these to describe the + data to be labeled. + properties: + contentClassifiers: + items: + type: string + type: array + type: object + dataSource: + description: |- + Provides information about the location of input data. + + You must specify at least one of the following: S3DataSource or SnsDataSource. + + Use SnsDataSource to specify an SNS input topic for a streaming labeling + job. If you do not specify and SNS input topic ARN, Ground Truth will create + a one-time labeling job. + + Use S3DataSource to specify an input manifest file for both streaming and + one-time labeling jobs. Adding an S3DataSource is optional if you use SnsDataSource + to create a streaming labeling job. + properties: + s3DataSource: + description: The Amazon S3 location of the input data objects. + properties: + manifestS3URI: + type: string + type: object + snsDataSource: + description: An Amazon SNS data source used for streaming + labeling jobs. + properties: + snsTopicARN: + type: string + type: object + type: object + type: object + labelAttributeName: + description: |- + The attribute name to use for the label in the output manifest file. This + is the key for the key/value pair formed with the label that a worker assigns + to the object. The LabelAttributeName must meet the following requirements. + + * The name can't end with "-metadata". + + * If you are using one of the following built-in task types (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html), + the attribute name must end with "-ref". If the task type you are using + is not listed below, the attribute name must not end with "-ref". Image + semantic segmentation (SemanticSegmentation), and adjustment (AdjustmentSemanticSegmentation) + and verification (VerificationSemanticSegmentation) labeling jobs for + this task type. Video frame object detection (VideoObjectDetection), and + adjustment and verification (AdjustmentVideoObjectDetection) labeling + jobs for this task type. Video frame object tracking (VideoObjectTracking), + and adjustment and verification (AdjustmentVideoObjectTracking) labeling + jobs for this task type. 3D point cloud semantic segmentation (3DPointCloudSemanticSegmentation), + and adjustment and verification (Adjustment3DPointCloudSemanticSegmentation) + labeling jobs for this task type. 3D point cloud object tracking (3DPointCloudObjectTracking), + and adjustment and verification (Adjustment3DPointCloudObjectTracking) + labeling jobs for this task type. + + If you are creating an adjustment or verification labeling job, you must + use a different LabelAttributeName than the one used in the original labeling + job. The original labeling job is the Ground Truth labeling job that produced + the labels that you want verified or adjusted. To learn more about adjustment + and verification labeling jobs, see Verify and Adjust Labels (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-verification-data.html). + + Regex Pattern: `^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,126}$` + type: string + labelCategoryConfigS3URI: + description: |- + The S3 URI of the file, referred to as a label category configuration file, + that defines the categories used to label the data objects. + + For 3D point cloud and video frame task types, you can add label category + attributes and frame attributes to your label category configuration file. + To learn how, see Create a Labeling Category Configuration File for 3D Point + Cloud Labeling Jobs (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-point-cloud-label-category-config.html). + + For named entity recognition jobs, in addition to "labels", you must provide + worker instructions in the label category configuration file using the "instructions" + parameter: "instructions": {"shortInstruction":" + Add header + + Add Instructions + ", "fullInstruction":" + Add additional instructions. + "}. For details and an example, see Create a Named Entity Recognition Labeling + Job (API) (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-named-entity-recg.html#sms-creating-ner-api). + + For all other built-in task types (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html) + and custom tasks (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-custom-templates.html), + your label category configuration file must be a JSON file in the following + format. Identify the labels you want to use by replacing label_1, label_2,...,label_n + with your label categories. + + { + + "document-version": "2018-11-28", + + "labels": [{"label": "label_1"},{"label": "label_2"},...{"label": "label_n"}] + + } + + Note the following about the label category configuration file: + + * For image classification and text classification (single and multi-label) + you must specify at least two label categories. For all other task types, + the minimum number of label categories required is one. + + * Each label category must be unique, you cannot specify duplicate label + categories. + + * If you create a 3D point cloud or video frame adjustment or verification + labeling job, you must include auditLabelAttributeName in the label category + configuration. Use this parameter to enter the LabelAttributeName (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-LabelAttributeName) + of the labeling job you want to adjust or verify annotations of. + + Regex Pattern: `^(https|s3)://([^/]+)/?(.*)$` + type: string + labelingJobAlgorithmsConfig: + description: Configures the information required to perform automated + data labeling. + properties: + initialActiveLearningModelARN: + type: string + labelingJobAlgorithmSpecificationARN: + type: string + labelingJobResourceConfig: + description: |- + Configure encryption on the storage volume attached to the ML compute instance + used to run automated data labeling model training and inference. + properties: + volumeKMSKeyID: + type: string + vpcConfig: + description: |- + Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, + hosted models, and compute resources have access to. You can control access + to and from your resources by configuring a VPC. For more information, see + Give SageMaker Access to Resources in your Amazon VPC (https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html). + properties: + securityGroupIDs: + items: + type: string + type: array + subnets: + items: + type: string + type: array + type: object + type: object + type: object + labelingJobName: + description: |- + The name of the labeling job. This name is used to identify the job in a + list of labeling jobs. Labeling job names must be unique within an Amazon + Web Services account and region. LabelingJobName is not case sensitive. For + example, Example-job and example-job are considered the same labeling job + name by Ground Truth. + + Regex Pattern: `^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}$` + type: string + outputConfig: + description: |- + The location of the output data and the Amazon Web Services Key Management + Service key ID for the key used to encrypt the output data, if any. + properties: + kmsKeyID: + type: string + s3OutputPath: + type: string + snsTopicARN: + type: string + type: object + roleARN: + description: |- + The Amazon Resource Number (ARN) that Amazon SageMaker assumes to perform + tasks on your behalf during data labeling. You must grant this role the necessary + permissions so that Amazon SageMaker can successfully complete data labeling. + + Regex Pattern: `^arn:aws[a-z\-]*:iam::\d{12}:role/?[a-zA-Z_0-9+=,.@\-_/]+$` + type: string + stoppingConditions: + description: |- + A set of conditions for stopping the labeling job. If any of the conditions + are met, the job is automatically stopped. You can use these conditions to + control the cost of data labeling. + properties: + maxHumanLabeledObjectCount: + format: int64 + type: integer + maxPercentageOfInputDatasetLabeled: + format: int64 + type: integer + type: object + tags: + description: |- + An array of key/value pairs. For more information, see Using Cost Allocation + Tags (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-what) + in the Amazon Web Services Billing and Cost Management User Guide. + items: + description: |- + A tag object that consists of a key and an optional value, used to manage + metadata for SageMaker Amazon Web Services resources. + + You can add tags to notebook instances, training jobs, hyperparameter tuning + jobs, batch transform jobs, models, labeling jobs, work teams, endpoint configurations, + and endpoints. For more information on adding tags to SageMaker resources, + see AddTags (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AddTags.html). + + For more information on adding metadata to your Amazon Web Services resources + with tagging, see Tagging Amazon Web Services resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html). + For advice on best practices for managing Amazon Web Services resources with + tagging, see Tagging Best Practices: Implement an Effective Amazon Web Services + Resource Tagging Strategy (https://d1.awsstatic.com/whitepapers/aws-tagging-best-practices.pdf). + properties: + key: + type: string + value: + type: string + type: object + type: array + required: + - humanTaskConfig + - inputConfig + - labelAttributeName + - labelingJobName + - outputConfig + - roleARN + type: object + status: + description: LabelingJobStatus defines the observed state of LabelingJob + properties: + ackResourceMetadata: + description: |- + All CRs managed by ACK have a common `Status.ACKResourceMetadata` member + that is used to contain resource sync state, account ownership, + constructed ARN for the resource + properties: + arn: + description: |- + ARN is the Amazon Resource Name for the resource. This is a + globally-unique identifier and is set only by the ACK service controller + once the controller has orchestrated the creation of the resource OR + when it has verified that an "adopted" resource (a resource where the + ARN annotation was set by the Kubernetes user on the CR) exists and + matches the supplied CR's Spec field values. + https://github.com/aws/aws-controllers-k8s/issues/270 + type: string + ownerAccountID: + description: |- + OwnerAccountID is the AWS Account ID of the account that owns the + backend AWS service API resource. + type: string + region: + description: Region is the AWS region in which the resource exists + or will exist. + type: string + required: + - ownerAccountID + - region + type: object + conditions: + description: |- + All CRs managed by ACK have a common `Status.Conditions` member that + contains a collection of `ackv1alpha1.Condition` objects that describe + the various terminal states of the CR and its backend AWS service API + resource + items: + description: |- + Condition is the common struct used by all CRDs managed by ACK service + controllers to indicate terminal states of the CR and its backend AWS + service API resource + properties: + lastTransitionTime: + description: Last time the condition transitioned from one status + to another. + format: date-time + type: string + message: + description: A human readable message indicating details about + the transition. + type: string + reason: + description: The reason for the condition's last transition. + type: string + status: + description: Status of the condition, one of True, False, Unknown. + type: string + type: + description: Type is the type of the Condition + type: string + required: + - status + - type + type: object + type: array + failureReason: + description: If the job failed, the reason that it failed. + type: string + jobReferenceCode: + description: |- + A unique identifier for work done as part of a labeling job. + + Regex Pattern: `^.+$` + type: string + labelCounters: + description: |- + Provides a breakdown of the number of data objects labeled by humans, the + number of objects labeled by machine, the number of objects than couldn't + be labeled, and the total number of objects labeled. + properties: + failedNonRetryableError: + format: int64 + type: integer + humanLabeled: + format: int64 + type: integer + machineLabeled: + format: int64 + type: integer + totalLabeled: + format: int64 + type: integer + unlabeled: + format: int64 + type: integer + type: object + labelingJobOutput: + description: The location of the output produced by the labeling job. + properties: + finalActiveLearningModelARN: + type: string + outputDatasetS3URI: + type: string + type: object + labelingJobStatus: + description: The processing status of the labeling job. + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: null + storedVersions: null diff --git a/operators/ack-sagemaker-controller/1.3.0/manifests/sagemaker.services.k8s.aws_modelbiasjobdefinitions.yaml b/operators/ack-sagemaker-controller/1.3.0/manifests/sagemaker.services.k8s.aws_modelbiasjobdefinitions.yaml new file mode 100644 index 00000000000..dec878726c0 --- /dev/null +++ b/operators/ack-sagemaker-controller/1.3.0/manifests/sagemaker.services.k8s.aws_modelbiasjobdefinitions.yaml @@ -0,0 +1,308 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.16.2 + creationTimestamp: null + name: modelbiasjobdefinitions.sagemaker.services.k8s.aws +spec: + group: sagemaker.services.k8s.aws + names: + kind: ModelBiasJobDefinition + listKind: ModelBiasJobDefinitionList + plural: modelbiasjobdefinitions + singular: modelbiasjobdefinition + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: ModelBiasJobDefinition is the Schema for the ModelBiasJobDefinitions + API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: ModelBiasJobDefinitionSpec defines the desired state of ModelBiasJobDefinition. + properties: + jobDefinitionName: + description: |- + The name of the bias job definition. The name must be unique within an Amazon + Web Services Region in the Amazon Web Services account. + + Regex Pattern: `^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}$` + type: string + jobResources: + description: Identifies the resources to deploy for a monitoring job. + properties: + clusterConfig: + description: Configuration for the cluster used to run model monitoring + jobs. + properties: + instanceCount: + format: int64 + type: integer + instanceType: + type: string + volumeKMSKeyID: + type: string + volumeSizeInGB: + format: int64 + type: integer + type: object + type: object + modelBiasAppSpecification: + description: Configures the model bias job to run a specified Docker + container image. + properties: + configURI: + type: string + environment: + additionalProperties: + type: string + type: object + imageURI: + type: string + type: object + modelBiasBaselineConfig: + description: The baseline configuration for a model bias job. + properties: + baseliningJobName: + type: string + constraintsResource: + description: The constraints resource for a monitoring job. + properties: + s3URI: + type: string + type: object + type: object + modelBiasJobInput: + description: Inputs for the model bias job. + properties: + endpointInput: + description: Input object for the endpoint + properties: + endTimeOffset: + type: string + endpointName: + type: string + excludeFeaturesAttribute: + type: string + featuresAttribute: + type: string + inferenceAttribute: + type: string + localPath: + type: string + probabilityAttribute: + type: string + probabilityThresholdAttribute: + type: number + s3DataDistributionType: + type: string + s3InputMode: + type: string + startTimeOffset: + type: string + type: object + groundTruthS3Input: + description: The ground truth labels for the dataset used for + the monitoring job. + properties: + s3URI: + type: string + type: object + type: object + modelBiasJobOutputConfig: + description: The output configuration for monitoring jobs. + properties: + kmsKeyID: + type: string + monitoringOutputs: + items: + description: The output object for a monitoring job. + properties: + s3Output: + description: |- + Information about where and how you want to store the results of a monitoring + job. + properties: + localPath: + type: string + s3URI: + type: string + s3UploadMode: + type: string + type: object + type: object + type: array + type: object + networkConfig: + description: Networking options for a model bias job. + properties: + enableInterContainerTrafficEncryption: + type: boolean + enableNetworkIsolation: + type: boolean + vpcConfig: + description: |- + Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, + hosted models, and compute resources have access to. You can control access + to and from your resources by configuring a VPC. For more information, see + Give SageMaker Access to Resources in your Amazon VPC (https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html). + properties: + securityGroupIDs: + items: + type: string + type: array + subnets: + items: + type: string + type: array + type: object + type: object + roleARN: + description: |- + The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume + to perform tasks on your behalf. + + Regex Pattern: `^arn:aws[a-z\-]*:iam::\d{12}:role/?[a-zA-Z_0-9+=,.@\-_/]+$` + type: string + stoppingCondition: + description: A time limit for how long the monitoring job is allowed + to run before stopping. + properties: + maxRuntimeInSeconds: + format: int64 + type: integer + type: object + tags: + description: |- + (Optional) An array of key-value pairs. For more information, see Using Cost + Allocation Tags (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-whatURL) + in the Amazon Web Services Billing and Cost Management User Guide. + items: + description: |- + A tag object that consists of a key and an optional value, used to manage + metadata for SageMaker Amazon Web Services resources. + + You can add tags to notebook instances, training jobs, hyperparameter tuning + jobs, batch transform jobs, models, labeling jobs, work teams, endpoint configurations, + and endpoints. For more information on adding tags to SageMaker resources, + see AddTags (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AddTags.html). + + For more information on adding metadata to your Amazon Web Services resources + with tagging, see Tagging Amazon Web Services resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html). + For advice on best practices for managing Amazon Web Services resources with + tagging, see Tagging Best Practices: Implement an Effective Amazon Web Services + Resource Tagging Strategy (https://d1.awsstatic.com/whitepapers/aws-tagging-best-practices.pdf). + properties: + key: + type: string + value: + type: string + type: object + type: array + required: + - jobDefinitionName + - jobResources + - modelBiasAppSpecification + - modelBiasJobInput + - modelBiasJobOutputConfig + - roleARN + type: object + status: + description: ModelBiasJobDefinitionStatus defines the observed state of + ModelBiasJobDefinition + properties: + ackResourceMetadata: + description: |- + All CRs managed by ACK have a common `Status.ACKResourceMetadata` member + that is used to contain resource sync state, account ownership, + constructed ARN for the resource + properties: + arn: + description: |- + ARN is the Amazon Resource Name for the resource. This is a + globally-unique identifier and is set only by the ACK service controller + once the controller has orchestrated the creation of the resource OR + when it has verified that an "adopted" resource (a resource where the + ARN annotation was set by the Kubernetes user on the CR) exists and + matches the supplied CR's Spec field values. + https://github.com/aws/aws-controllers-k8s/issues/270 + type: string + ownerAccountID: + description: |- + OwnerAccountID is the AWS Account ID of the account that owns the + backend AWS service API resource. + type: string + region: + description: Region is the AWS region in which the resource exists + or will exist. + type: string + required: + - ownerAccountID + - region + type: object + conditions: + description: |- + All CRs managed by ACK have a common `Status.Conditions` member that + contains a collection of `ackv1alpha1.Condition` objects that describe + the various terminal states of the CR and its backend AWS service API + resource + items: + description: |- + Condition is the common struct used by all CRDs managed by ACK service + controllers to indicate terminal states of the CR and its backend AWS + service API resource + properties: + lastTransitionTime: + description: Last time the condition transitioned from one status + to another. + format: date-time + type: string + message: + description: A human readable message indicating details about + the transition. + type: string + reason: + description: The reason for the condition's last transition. + type: string + status: + description: Status of the condition, one of True, False, Unknown. + type: string + type: + description: Type is the type of the Condition + type: string + required: + - status + - type + type: object + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: null + storedVersions: null diff --git a/operators/ack-sagemaker-controller/1.3.0/manifests/sagemaker.services.k8s.aws_modelexplainabilityjobdefinitions.yaml b/operators/ack-sagemaker-controller/1.3.0/manifests/sagemaker.services.k8s.aws_modelexplainabilityjobdefinitions.yaml new file mode 100644 index 00000000000..e6c9c58d1d2 --- /dev/null +++ b/operators/ack-sagemaker-controller/1.3.0/manifests/sagemaker.services.k8s.aws_modelexplainabilityjobdefinitions.yaml @@ -0,0 +1,304 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.16.2 + creationTimestamp: null + name: modelexplainabilityjobdefinitions.sagemaker.services.k8s.aws +spec: + group: sagemaker.services.k8s.aws + names: + kind: ModelExplainabilityJobDefinition + listKind: ModelExplainabilityJobDefinitionList + plural: modelexplainabilityjobdefinitions + singular: modelexplainabilityjobdefinition + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: ModelExplainabilityJobDefinition is the Schema for the ModelExplainabilityJobDefinitions + API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: ModelExplainabilityJobDefinitionSpec defines the desired + state of ModelExplainabilityJobDefinition. + properties: + jobDefinitionName: + description: |- + The name of the model explainability job definition. The name must be unique + within an Amazon Web Services Region in the Amazon Web Services account. + + Regex Pattern: `^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}$` + type: string + jobResources: + description: Identifies the resources to deploy for a monitoring job. + properties: + clusterConfig: + description: Configuration for the cluster used to run model monitoring + jobs. + properties: + instanceCount: + format: int64 + type: integer + instanceType: + type: string + volumeKMSKeyID: + type: string + volumeSizeInGB: + format: int64 + type: integer + type: object + type: object + modelExplainabilityAppSpecification: + description: |- + Configures the model explainability job to run a specified Docker container + image. + properties: + configURI: + type: string + environment: + additionalProperties: + type: string + type: object + imageURI: + type: string + type: object + modelExplainabilityBaselineConfig: + description: The baseline configuration for a model explainability + job. + properties: + baseliningJobName: + type: string + constraintsResource: + description: The constraints resource for a monitoring job. + properties: + s3URI: + type: string + type: object + type: object + modelExplainabilityJobInput: + description: Inputs for the model explainability job. + properties: + endpointInput: + description: Input object for the endpoint + properties: + endTimeOffset: + type: string + endpointName: + type: string + excludeFeaturesAttribute: + type: string + featuresAttribute: + type: string + inferenceAttribute: + type: string + localPath: + type: string + probabilityAttribute: + type: string + probabilityThresholdAttribute: + type: number + s3DataDistributionType: + type: string + s3InputMode: + type: string + startTimeOffset: + type: string + type: object + type: object + modelExplainabilityJobOutputConfig: + description: The output configuration for monitoring jobs. + properties: + kmsKeyID: + type: string + monitoringOutputs: + items: + description: The output object for a monitoring job. + properties: + s3Output: + description: |- + Information about where and how you want to store the results of a monitoring + job. + properties: + localPath: + type: string + s3URI: + type: string + s3UploadMode: + type: string + type: object + type: object + type: array + type: object + networkConfig: + description: Networking options for a model explainability job. + properties: + enableInterContainerTrafficEncryption: + type: boolean + enableNetworkIsolation: + type: boolean + vpcConfig: + description: |- + Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, + hosted models, and compute resources have access to. You can control access + to and from your resources by configuring a VPC. For more information, see + Give SageMaker Access to Resources in your Amazon VPC (https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html). + properties: + securityGroupIDs: + items: + type: string + type: array + subnets: + items: + type: string + type: array + type: object + type: object + roleARN: + description: |- + The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume + to perform tasks on your behalf. + + Regex Pattern: `^arn:aws[a-z\-]*:iam::\d{12}:role/?[a-zA-Z_0-9+=,.@\-_/]+$` + type: string + stoppingCondition: + description: A time limit for how long the monitoring job is allowed + to run before stopping. + properties: + maxRuntimeInSeconds: + format: int64 + type: integer + type: object + tags: + description: |- + (Optional) An array of key-value pairs. For more information, see Using Cost + Allocation Tags (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html#allocation-whatURL) + in the Amazon Web Services Billing and Cost Management User Guide. + items: + description: |- + A tag object that consists of a key and an optional value, used to manage + metadata for SageMaker Amazon Web Services resources. + + You can add tags to notebook instances, training jobs, hyperparameter tuning + jobs, batch transform jobs, models, labeling jobs, work teams, endpoint configurations, + and endpoints. For more information on adding tags to SageMaker resources, + see AddTags (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AddTags.html). + + For more information on adding metadata to your Amazon Web Services resources + with tagging, see Tagging Amazon Web Services resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html). + For advice on best practices for managing Amazon Web Services resources with + tagging, see Tagging Best Practices: Implement an Effective Amazon Web Services + Resource Tagging Strategy (https://d1.awsstatic.com/whitepapers/aws-tagging-best-practices.pdf). + properties: + key: + type: string + value: + type: string + type: object + type: array + required: + - jobDefinitionName + - jobResources + - modelExplainabilityAppSpecification + - modelExplainabilityJobInput + - modelExplainabilityJobOutputConfig + - roleARN + type: object + status: + description: ModelExplainabilityJobDefinitionStatus defines the observed + state of ModelExplainabilityJobDefinition + properties: + ackResourceMetadata: + description: |- + All CRs managed by ACK have a common `Status.ACKResourceMetadata` member + that is used to contain resource sync state, account ownership, + constructed ARN for the resource + properties: + arn: + description: |- + ARN is the Amazon Resource Name for the resource. This is a + globally-unique identifier and is set only by the ACK service controller + once the controller has orchestrated the creation of the resource OR + when it has verified that an "adopted" resource (a resource where the + ARN annotation was set by the Kubernetes user on the CR) exists and + matches the supplied CR's Spec field values. + https://github.com/aws/aws-controllers-k8s/issues/270 + type: string + ownerAccountID: + description: |- + OwnerAccountID is the AWS Account ID of the account that owns the + backend AWS service API resource. + type: string + region: + description: Region is the AWS region in which the resource exists + or will exist. + type: string + required: + - ownerAccountID + - region + type: object + conditions: + description: |- + All CRs managed by ACK have a common `Status.Conditions` member that + contains a collection of `ackv1alpha1.Condition` objects that describe + the various terminal states of the CR and its backend AWS service API + resource + items: + description: |- + Condition is the common struct used by all CRDs managed by ACK service + controllers to indicate terminal states of the CR and its backend AWS + service API resource + properties: + lastTransitionTime: + description: Last time the condition transitioned from one status + to another. + format: date-time + type: string + message: + description: A human readable message indicating details about + the transition. + type: string + reason: + description: The reason for the condition's last transition. + type: string + status: + description: Status of the condition, one of True, False, Unknown. + type: string + type: + description: Type is the type of the Condition + type: string + required: + - status + - type + type: object + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: null + storedVersions: null diff --git a/operators/ack-sagemaker-controller/1.3.0/manifests/sagemaker.services.k8s.aws_modelpackagegroups.yaml b/operators/ack-sagemaker-controller/1.3.0/manifests/sagemaker.services.k8s.aws_modelpackagegroups.yaml new file mode 100644 index 00000000000..741e7a4303a --- /dev/null +++ b/operators/ack-sagemaker-controller/1.3.0/manifests/sagemaker.services.k8s.aws_modelpackagegroups.yaml @@ -0,0 +1,172 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.16.2 + creationTimestamp: null + name: modelpackagegroups.sagemaker.services.k8s.aws +spec: + group: sagemaker.services.k8s.aws + names: + kind: ModelPackageGroup + listKind: ModelPackageGroupList + plural: modelpackagegroups + singular: modelpackagegroup + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.modelPackageGroupStatus + name: STATUS + type: string + name: v1alpha1 + schema: + openAPIV3Schema: + description: ModelPackageGroup is the Schema for the ModelPackageGroups API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: |- + ModelPackageGroupSpec defines the desired state of ModelPackageGroup. + + A group of versioned models in the model registry. + properties: + modelPackageGroupDescription: + description: |- + A description for the model group. + + Regex Pattern: `^[\p{L}\p{M}\p{Z}\p{S}\p{N}\p{P}]*$` + type: string + modelPackageGroupName: + description: |- + The name of the model group. + + Regex Pattern: `^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}$` + type: string + tags: + description: |- + A list of key value pairs associated with the model group. For more information, + see Tagging Amazon Web Services resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) + in the Amazon Web Services General Reference Guide. + items: + description: |- + A tag object that consists of a key and an optional value, used to manage + metadata for SageMaker Amazon Web Services resources. + + You can add tags to notebook instances, training jobs, hyperparameter tuning + jobs, batch transform jobs, models, labeling jobs, work teams, endpoint configurations, + and endpoints. For more information on adding tags to SageMaker resources, + see AddTags (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AddTags.html). + + For more information on adding metadata to your Amazon Web Services resources + with tagging, see Tagging Amazon Web Services resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html). + For advice on best practices for managing Amazon Web Services resources with + tagging, see Tagging Best Practices: Implement an Effective Amazon Web Services + Resource Tagging Strategy (https://d1.awsstatic.com/whitepapers/aws-tagging-best-practices.pdf). + properties: + key: + type: string + value: + type: string + type: object + type: array + required: + - modelPackageGroupName + type: object + status: + description: ModelPackageGroupStatus defines the observed state of ModelPackageGroup + properties: + ackResourceMetadata: + description: |- + All CRs managed by ACK have a common `Status.ACKResourceMetadata` member + that is used to contain resource sync state, account ownership, + constructed ARN for the resource + properties: + arn: + description: |- + ARN is the Amazon Resource Name for the resource. This is a + globally-unique identifier and is set only by the ACK service controller + once the controller has orchestrated the creation of the resource OR + when it has verified that an "adopted" resource (a resource where the + ARN annotation was set by the Kubernetes user on the CR) exists and + matches the supplied CR's Spec field values. + https://github.com/aws/aws-controllers-k8s/issues/270 + type: string + ownerAccountID: + description: |- + OwnerAccountID is the AWS Account ID of the account that owns the + backend AWS service API resource. + type: string + region: + description: Region is the AWS region in which the resource exists + or will exist. + type: string + required: + - ownerAccountID + - region + type: object + conditions: + description: |- + All CRs managed by ACK have a common `Status.Conditions` member that + contains a collection of `ackv1alpha1.Condition` objects that describe + the various terminal states of the CR and its backend AWS service API + resource + items: + description: |- + Condition is the common struct used by all CRDs managed by ACK service + controllers to indicate terminal states of the CR and its backend AWS + service API resource + properties: + lastTransitionTime: + description: Last time the condition transitioned from one status + to another. + format: date-time + type: string + message: + description: A human readable message indicating details about + the transition. + type: string + reason: + description: The reason for the condition's last transition. + type: string + status: + description: Status of the condition, one of True, False, Unknown. + type: string + type: + description: Type is the type of the Condition + type: string + required: + - status + - type + type: object + type: array + modelPackageGroupStatus: + description: The status of the model group. + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: null + storedVersions: null diff --git a/operators/ack-sagemaker-controller/1.3.0/manifests/sagemaker.services.k8s.aws_modelpackages.yaml b/operators/ack-sagemaker-controller/1.3.0/manifests/sagemaker.services.k8s.aws_modelpackages.yaml new file mode 100644 index 00000000000..40e4957f9a6 --- /dev/null +++ b/operators/ack-sagemaker-controller/1.3.0/manifests/sagemaker.services.k8s.aws_modelpackages.yaml @@ -0,0 +1,784 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.16.2 + creationTimestamp: null + name: modelpackages.sagemaker.services.k8s.aws +spec: + group: sagemaker.services.k8s.aws + names: + kind: ModelPackage + listKind: ModelPackageList + plural: modelpackages + singular: modelpackage + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.modelPackageStatus + name: STATUS + type: string + name: v1alpha1 + schema: + openAPIV3Schema: + description: ModelPackage is the Schema for the ModelPackages API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: |- + ModelPackageSpec defines the desired state of ModelPackage. + + A versioned model that can be deployed for SageMaker inference. + properties: + additionalInferenceSpecifications: + description: |- + An array of additional Inference Specification objects. Each additional Inference + Specification specifies artifacts based on this model package that can be + used on inference endpoints. Generally used with SageMaker Neo to store the + compiled artifacts. + items: + description: |- + A structure of additional Inference Specification. Additional Inference Specification + specifies details about inference jobs that can be run with models based + on this model package + properties: + containers: + items: + description: Describes the Docker container for the model + package. + properties: + additionalS3DataSource: + description: |- + A data source used for training or inference that is in addition to the input + dataset or model data. + properties: + compressionType: + type: string + s3DataType: + type: string + s3URI: + type: string + type: object + containerHostname: + type: string + environment: + additionalProperties: + type: string + type: object + framework: + type: string + frameworkVersion: + type: string + image: + type: string + imageDigest: + type: string + modelDataURL: + type: string + modelInput: + description: Input object for the model. + properties: + dataInputConfig: + type: string + type: object + nearestModelName: + type: string + productID: + type: string + type: object + type: array + description: + type: string + name: + type: string + supportedContentTypes: + items: + type: string + type: array + supportedRealtimeInferenceInstanceTypes: + items: + type: string + type: array + supportedResponseMIMETypes: + items: + type: string + type: array + supportedTransformInstanceTypes: + items: + type: string + type: array + type: object + type: array + approvalDescription: + description: |- + A description for the approval status of the model. + + Regex Pattern: `.*` + type: string + certifyForMarketplace: + description: |- + Whether to certify the model package for listing on Amazon Web Services Marketplace. + + This parameter is optional for unversioned models, and does not apply to + versioned models. + type: boolean + clientToken: + description: |- + A unique token that guarantees that the call to this API is idempotent. + + Regex Pattern: `^[a-zA-Z0-9-]+$` + type: string + customerMetadataProperties: + additionalProperties: + type: string + description: The metadata properties associated with the model package + versions. + type: object + domain: + description: |- + The machine learning domain of your model package and its components. Common + machine learning domains include computer vision and natural language processing. + type: string + driftCheckBaselines: + description: |- + Represents the drift check baselines that can be used when the model monitor + is set using the model package. For more information, see the topic on Drift + Detection against Previous Baselines in SageMaker Pipelines (https://docs.aws.amazon.com/sagemaker/latest/dg/pipelines-quality-clarify-baseline-lifecycle.html#pipelines-quality-clarify-baseline-drift-detection) + in the Amazon SageMaker Developer Guide. + properties: + bias: + description: |- + Represents the drift check bias baselines that can be used when the model + monitor is set using the model package. + properties: + configFile: + description: Contains details regarding the file source. + properties: + contentDigest: + type: string + contentType: + type: string + s3URI: + type: string + type: object + postTrainingConstraints: + description: Details about the metrics source. + properties: + contentDigest: + type: string + contentType: + type: string + s3URI: + type: string + type: object + preTrainingConstraints: + description: Details about the metrics source. + properties: + contentDigest: + type: string + contentType: + type: string + s3URI: + type: string + type: object + type: object + explainability: + description: |- + Represents the drift check explainability baselines that can be used when + the model monitor is set using the model package. + properties: + configFile: + description: Contains details regarding the file source. + properties: + contentDigest: + type: string + contentType: + type: string + s3URI: + type: string + type: object + constraints: + description: Details about the metrics source. + properties: + contentDigest: + type: string + contentType: + type: string + s3URI: + type: string + type: object + type: object + modelDataQuality: + description: |- + Represents the drift check data quality baselines that can be used when the + model monitor is set using the model package. + properties: + constraints: + description: Details about the metrics source. + properties: + contentDigest: + type: string + contentType: + type: string + s3URI: + type: string + type: object + statistics: + description: Details about the metrics source. + properties: + contentDigest: + type: string + contentType: + type: string + s3URI: + type: string + type: object + type: object + modelQuality: + description: |- + Represents the drift check model quality baselines that can be used when + the model monitor is set using the model package. + properties: + constraints: + description: Details about the metrics source. + properties: + contentDigest: + type: string + contentType: + type: string + s3URI: + type: string + type: object + statistics: + description: Details about the metrics source. + properties: + contentDigest: + type: string + contentType: + type: string + s3URI: + type: string + type: object + type: object + type: object + inferenceSpecification: + description: |- + Specifies details about inference jobs that you can run with models based + on this model package, including the following information: + + * The Amazon ECR paths of containers that contain the inference code and + model artifacts. + + * The instance types that the model package supports for transform jobs + and real-time endpoints used for inference. + + * The input and output content formats that the model package supports + for inference. + properties: + containers: + items: + description: Describes the Docker container for the model package. + properties: + additionalS3DataSource: + description: |- + A data source used for training or inference that is in addition to the input + dataset or model data. + properties: + compressionType: + type: string + s3DataType: + type: string + s3URI: + type: string + type: object + containerHostname: + type: string + environment: + additionalProperties: + type: string + type: object + framework: + type: string + frameworkVersion: + type: string + image: + type: string + imageDigest: + type: string + modelDataURL: + type: string + modelInput: + description: Input object for the model. + properties: + dataInputConfig: + type: string + type: object + nearestModelName: + type: string + productID: + type: string + type: object + type: array + supportedContentTypes: + items: + type: string + type: array + supportedRealtimeInferenceInstanceTypes: + items: + type: string + type: array + supportedResponseMIMETypes: + items: + type: string + type: array + supportedTransformInstanceTypes: + items: + type: string + type: array + type: object + metadataProperties: + description: Metadata properties of the tracking entity, trial, or + trial component. + properties: + commitID: + type: string + generatedBy: + type: string + projectID: + type: string + repository: + type: string + type: object + modelApprovalStatus: + description: |- + Whether the model is approved for deployment. + + This parameter is optional for versioned models, and does not apply to unversioned + models. + + For versioned models, the value of this parameter must be set to Approved + to deploy the model. + type: string + modelMetrics: + description: A structure that contains model metrics reports. + properties: + bias: + description: Contains bias metrics for a model. + properties: + postTrainingReport: + description: Details about the metrics source. + properties: + contentDigest: + type: string + contentType: + type: string + s3URI: + type: string + type: object + preTrainingReport: + description: Details about the metrics source. + properties: + contentDigest: + type: string + contentType: + type: string + s3URI: + type: string + type: object + report: + description: Details about the metrics source. + properties: + contentDigest: + type: string + contentType: + type: string + s3URI: + type: string + type: object + type: object + explainability: + description: Contains explainability metrics for a model. + properties: + report: + description: Details about the metrics source. + properties: + contentDigest: + type: string + contentType: + type: string + s3URI: + type: string + type: object + type: object + modelDataQuality: + description: Data quality constraints and statistics for a model. + properties: + constraints: + description: Details about the metrics source. + properties: + contentDigest: + type: string + contentType: + type: string + s3URI: + type: string + type: object + statistics: + description: Details about the metrics source. + properties: + contentDigest: + type: string + contentType: + type: string + s3URI: + type: string + type: object + type: object + modelQuality: + description: Model quality statistics and constraints. + properties: + constraints: + description: Details about the metrics source. + properties: + contentDigest: + type: string + contentType: + type: string + s3URI: + type: string + type: object + statistics: + description: Details about the metrics source. + properties: + contentDigest: + type: string + contentType: + type: string + s3URI: + type: string + type: object + type: object + type: object + modelPackageDescription: + description: |- + A description of the model package. + + Regex Pattern: `^[\p{L}\p{M}\p{Z}\p{S}\p{N}\p{P}]*$` + type: string + modelPackageGroupName: + description: |- + The name or Amazon Resource Name (ARN) of the model package group that this + model version belongs to. + + This parameter is required for versioned models, and does not apply to unversioned + models. + + Regex Pattern: `^(arn:aws[a-z\-]*:sagemaker:[a-z0-9\-]*:[0-9]{12}:[a-z\-]*\/)?([a-zA-Z0-9]([a-zA-Z0-9-]){0,62})(?