"use strict";
// *** WARNING: this file was generated by pulumi-language-nodejs. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
Object.defineProperty(exports, "__esModule", { value: true });
exports.ModelPackage = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("../utilities");
/**
 * Resource Type definition for AWS::SageMaker::ModelPackage
 */
class ModelPackage extends pulumi.CustomResource {
    /**
     * Get an existing ModelPackage resource's state with the given name, ID, and optional extra
     * properties used to qualify the lookup.
     *
     * @param name The _unique_ name of the resulting resource.
     * @param id The _unique_ provider ID of the resource to lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name, id, opts) {
        return new ModelPackage(name, undefined, { ...opts, id: id });
    }
    /**
     * Returns true if the given object is an instance of ModelPackage.  This is designed to work even
     * when multiple copies of the Pulumi SDK have been loaded into the same process.
     */
    static isInstance(obj) {
        if (obj === undefined || obj === null) {
            return false;
        }
        return obj['__pulumiType'] === ModelPackage.__pulumiType;
    }
    /**
     * Create a ModelPackage resource with the given unique name, arguments, and options.
     *
     * @param name The _unique_ name of the resource.
     * @param args The arguments to use to populate this resource's properties.
     * @param opts A bag of options that control this resource's behavior.
     */
    constructor(name, args, opts) {
        let resourceInputs = {};
        opts = opts || {};
        if (!opts.id) {
            resourceInputs["additionalInferenceSpecifications"] = args?.additionalInferenceSpecifications;
            resourceInputs["additionalInferenceSpecificationsToAdd"] = args?.additionalInferenceSpecificationsToAdd;
            resourceInputs["approvalDescription"] = args?.approvalDescription;
            resourceInputs["certifyForMarketplace"] = args?.certifyForMarketplace;
            resourceInputs["clientToken"] = args?.clientToken;
            resourceInputs["customerMetadataProperties"] = args?.customerMetadataProperties;
            resourceInputs["domain"] = args?.domain;
            resourceInputs["driftCheckBaselines"] = args?.driftCheckBaselines;
            resourceInputs["inferenceSpecification"] = args?.inferenceSpecification;
            resourceInputs["metadataProperties"] = args?.metadataProperties;
            resourceInputs["modelApprovalStatus"] = args?.modelApprovalStatus;
            resourceInputs["modelCard"] = args?.modelCard;
            resourceInputs["modelMetrics"] = args?.modelMetrics;
            resourceInputs["modelPackageDescription"] = args?.modelPackageDescription;
            resourceInputs["modelPackageGroupName"] = args?.modelPackageGroupName;
            resourceInputs["modelPackageName"] = args?.modelPackageName;
            resourceInputs["modelPackageStatusDetails"] = args?.modelPackageStatusDetails;
            resourceInputs["modelPackageVersion"] = args?.modelPackageVersion;
            resourceInputs["samplePayloadUrl"] = args?.samplePayloadUrl;
            resourceInputs["securityConfig"] = args?.securityConfig;
            resourceInputs["skipModelValidation"] = args?.skipModelValidation;
            resourceInputs["sourceAlgorithmSpecification"] = args?.sourceAlgorithmSpecification;
            resourceInputs["sourceUri"] = args?.sourceUri;
            resourceInputs["tags"] = args?.tags;
            resourceInputs["task"] = args?.task;
            resourceInputs["validationSpecification"] = args?.validationSpecification;
            resourceInputs["creationTime"] = undefined /*out*/;
            resourceInputs["lastModifiedTime"] = undefined /*out*/;
            resourceInputs["modelPackageArn"] = undefined /*out*/;
            resourceInputs["modelPackageStatus"] = undefined /*out*/;
        }
        else {
            resourceInputs["additionalInferenceSpecifications"] = undefined /*out*/;
            resourceInputs["additionalInferenceSpecificationsToAdd"] = undefined /*out*/;
            resourceInputs["approvalDescription"] = undefined /*out*/;
            resourceInputs["certifyForMarketplace"] = undefined /*out*/;
            resourceInputs["clientToken"] = undefined /*out*/;
            resourceInputs["creationTime"] = undefined /*out*/;
            resourceInputs["customerMetadataProperties"] = undefined /*out*/;
            resourceInputs["domain"] = undefined /*out*/;
            resourceInputs["driftCheckBaselines"] = undefined /*out*/;
            resourceInputs["inferenceSpecification"] = undefined /*out*/;
            resourceInputs["lastModifiedTime"] = undefined /*out*/;
            resourceInputs["metadataProperties"] = undefined /*out*/;
            resourceInputs["modelApprovalStatus"] = undefined /*out*/;
            resourceInputs["modelCard"] = undefined /*out*/;
            resourceInputs["modelMetrics"] = undefined /*out*/;
            resourceInputs["modelPackageArn"] = undefined /*out*/;
            resourceInputs["modelPackageDescription"] = undefined /*out*/;
            resourceInputs["modelPackageGroupName"] = undefined /*out*/;
            resourceInputs["modelPackageName"] = undefined /*out*/;
            resourceInputs["modelPackageStatus"] = undefined /*out*/;
            resourceInputs["modelPackageStatusDetails"] = undefined /*out*/;
            resourceInputs["modelPackageVersion"] = undefined /*out*/;
            resourceInputs["samplePayloadUrl"] = undefined /*out*/;
            resourceInputs["securityConfig"] = undefined /*out*/;
            resourceInputs["skipModelValidation"] = undefined /*out*/;
            resourceInputs["sourceAlgorithmSpecification"] = undefined /*out*/;
            resourceInputs["sourceUri"] = undefined /*out*/;
            resourceInputs["tags"] = undefined /*out*/;
            resourceInputs["task"] = undefined /*out*/;
            resourceInputs["validationSpecification"] = undefined /*out*/;
        }
        opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
        const replaceOnChanges = { replaceOnChanges: ["clientToken", "domain", "driftCheckBaselines", "inferenceSpecification", "metadataProperties", "modelMetrics", "modelPackageDescription", "modelPackageGroupName", "samplePayloadUrl", "securityConfig", "sourceAlgorithmSpecification", "task", "validationSpecification"] };
        opts = pulumi.mergeOptions(opts, replaceOnChanges);
        super(ModelPackage.__pulumiType, name, resourceInputs, opts);
    }
}
exports.ModelPackage = ModelPackage;
/** @internal */
ModelPackage.__pulumiType = 'aws-native:sagemaker:ModelPackage';
//# sourceMappingURL=modelPackage.js.map