--- apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.3.0 creationTimestamp: null name: hostingdeployments.sagemaker.aws.amazon.com spec: additionalPrinterColumns: - JSONPath: .status.endpointStatus name: Status type: string - JSONPath: .status.endpointName name: Sagemaker-endpoint-name type: string group: sagemaker.aws.amazon.com names: kind: HostingDeployment listKind: HostingDeploymentList plural: hostingdeployments singular: hostingdeployment scope: Namespaced subresources: status: {} validation: openAPIV3Schema: description: HostingDeployment is the Schema for the hostingdeployments 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: HostingDeploymentSpec defines the desired state of HostingDeployment properties: endpointName: description: The SageMaker endpoint name. If it is empty the operator will populate it with a generated name. maxLength: 63 type: string excludeRetainedVariantProperties: items: properties: variantPropertyType: enum: - DesiredInstanceCount - DesiredWeight - DataCaptureConfig type: string required: - variantPropertyType type: object type: array kmsKeyId: type: string models: items: description: This is something we are defining not coming from aws-sdk-go-v2 properties: containers: items: description: Describes the container, as part of model definition. properties: containerHostname: type: string environment: items: description: Used in describing maps in Kubernetes. properties: name: type: string value: type: string type: object type: array image: type: string mode: enum: - SingleModel - MultiModel type: string modelDataUrl: type: string modelPackageName: type: string type: object minItems: 1 type: array enableNetworkIsolation: type: boolean executionRoleArn: minLength: 20 type: string name: type: string primaryContainer: description: Primary container will be ignored if more than one container in the `containers` field is provided. type: string vpcConfig: properties: securityGroupIds: items: type: string maxItems: 5 minItems: 1 type: array subnets: items: type: string maxItems: 16 minItems: 1 type: array required: - securityGroupIds - subnets type: object required: - executionRoleArn - name type: object type: array productionVariants: items: properties: acceleratorType: type: string initialInstanceCount: format: int64 minimum: 1 type: integer initialVariantWeight: description: We use an int64 here instead of float because floats are not supported by the Kubernetes API. The actual traffic directed to this ProductionVariant is the ratio of this variant weight to the sum of all variant weights. format: int64 type: integer instanceType: type: string modelName: minLength: 1 type: string variantName: minLength: 1 type: string required: - initialInstanceCount - instanceType - modelName - variantName type: object minItems: 1 type: array region: minLength: 1 type: string retainAllVariantProperties: type: boolean sageMakerEndpoint: description: A custom SageMaker endpoint to use when communicating with SageMaker. pattern: ^(https|http)://.*$ type: string tags: items: properties: key: minLength: 1 type: string value: type: string required: - key - value type: object type: array required: - models - productionVariants - region type: object status: description: HostingDeploymentStatus defines the observed state of HostingDeployment properties: additional: description: This field contains additional information about failures. type: string creationTime: description: https://docs.aws.amazon.com/sagemaker/latest/dg/API_DescribeEndpoint.html#SageMaker-DescribeEndpoint-response-CreationTime format: date-time type: string endpointArn: description: https://docs.aws.amazon.com/sagemaker/latest/dg/API_DescribeEndpoint.html#SageMaker-DescribeEndpoint-response-EndpointArn type: string endpointConfigName: description: https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateEndpoint.html#SageMaker-CreateEndpoint-request-EndpointConfigName type: string endpointName: description: https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateEndpoint.html#SageMaker-CreateEndpoint-request-EndpointName type: string endpointStatus: description: https://docs.aws.amazon.com/sagemaker/latest/dg/API_DescribeEndpoint.html#SageMaker-DescribeEndpoint-response-EndpointStatus type: string endpointUrl: type: string failureReason: description: https://docs.aws.amazon.com/sagemaker/latest/dg/API_DescribeEndpoint.html#SageMaker-DescribeEndpoint-response-FailureReason type: string lastCheckTime: format: date-time type: string lastModifiedTime: description: https://docs.aws.amazon.com/sagemaker/latest/dg/API_DescribeEndpoint.html#API_DescribeEndpoint_ResponseSyntax format: date-time type: string modelNames: items: description: Used in describing maps in Kubernetes. properties: name: type: string value: type: string type: object type: array productionVariants: description: https://docs.aws.amazon.com/sagemaker/latest/dg/API_ProductionVariantSummary.html items: description: Please also see https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ProductionVariantSummary This is only used in status so no validation is required properties: currentInstanceCount: format: int64 type: integer currentWeight: description: We use an int64 here instead of float because floats are not supported by the Kubernetes API. The actual traffic directed to this ProductionVariant is the ratio of this variant weight to the sum of all variant weights. format: int64 type: integer deployedImages: items: properties: resolutionTime: format: date-time type: string resolvedImage: type: string specifiedImage: type: string type: object type: array desiredInstanceCount: format: int64 type: integer desiredWeight: description: We use an int64 here instead of float because floats are not supported by the Kubernetes API. The actual traffic directed to this ProductionVariant is the ratio of this variant weight to the sum of all variant weights. format: int64 type: integer variantName: type: string required: - variantName type: object type: array type: object type: object version: v1 versions: - name: v1 served: true storage: true status: acceptedNames: kind: "" plural: "" conditions: [] storedVersions: []