@pulumi/awsx
Version:
[](https://github.com/pulumi/pulumi-awsx/actions) [](https://slack.pulumi.com) [;
exports.Repository = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("../utilities");
/**
* A [Repository] represents an [aws.ecr.Repository] along with an associated [LifecyclePolicy] controlling how images are retained in the repo.
*
* Docker images can be built and pushed to the repo using the [buildAndPushImage] method. This will call into the `@pulumi/docker/buildAndPushImage` function using this repo as the appropriate destination registry.
*/
class Repository extends pulumi.ComponentResource {
/**
* Returns true if the given object is an instance of Repository. 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'] === Repository.__pulumiType;
}
/**
* Create a Repository 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["encryptionConfigurations"] = args?.encryptionConfigurations;
resourceInputs["forceDelete"] = args?.forceDelete;
resourceInputs["imageScanningConfiguration"] = args?.imageScanningConfiguration;
resourceInputs["imageTagMutability"] = args?.imageTagMutability;
resourceInputs["imageTagMutabilityExclusionFilters"] = args?.imageTagMutabilityExclusionFilters;
resourceInputs["lifecyclePolicy"] = args?.lifecyclePolicy;
resourceInputs["name"] = args?.name;
resourceInputs["region"] = args?.region;
resourceInputs["tags"] = args?.tags;
resourceInputs["repository"] = undefined /*out*/;
resourceInputs["url"] = undefined /*out*/;
}
else {
resourceInputs["lifecyclePolicy"] = undefined /*out*/;
resourceInputs["repository"] = undefined /*out*/;
resourceInputs["url"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
super(Repository.__pulumiType, name, resourceInputs, opts, true /*remote*/);
}
}
exports.Repository = Repository;
/** @internal */
Repository.__pulumiType = 'awsx:ecr:Repository';
//# sourceMappingURL=repository.js.map