@pulumi/aws
Version:
A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.
189 lines • 8.45 kB
JavaScript
;
// *** 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.CustomDbEngineVersion = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("../utilities");
/**
* Provides an custom engine version (CEV) resource for Amazon RDS Custom. For additional information, see [Working with CEVs for RDS Custom for Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-cev.html) and [Working with CEVs for RDS Custom for SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-cev-sqlserver.html) in the the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html).
*
* ## Example Usage
*
* ### RDS Custom for Oracle Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
*
* const example = new aws.kms.Key("example", {description: "KMS symmetric key for RDS Custom for Oracle"});
* const exampleCustomDbEngineVersion = new aws.rds.CustomDbEngineVersion("example", {
* databaseInstallationFilesS3BucketName: "DOC-EXAMPLE-BUCKET",
* databaseInstallationFilesS3Prefix: "1915_GI/",
* engine: "custom-oracle-ee-cdb",
* engineVersion: "19.cdb_cev1",
* kmsKeyId: example.arn,
* manifest: ` {
* \\t\\"databaseInstallationFileNames\\":[\\"V982063-01.zip\\"]
* }
* `,
* tags: {
* Name: "example",
* Key: "value",
* },
* });
* ```
*
* ### RDS Custom for Oracle External Manifest Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
* import * as std from "@pulumi/std";
*
* const example = new aws.kms.Key("example", {description: "KMS symmetric key for RDS Custom for Oracle"});
* const exampleCustomDbEngineVersion = new aws.rds.CustomDbEngineVersion("example", {
* databaseInstallationFilesS3BucketName: "DOC-EXAMPLE-BUCKET",
* databaseInstallationFilesS3Prefix: "1915_GI/",
* engine: "custom-oracle-ee-cdb",
* engineVersion: "19.cdb_cev1",
* kmsKeyId: example.arn,
* filename: "manifest_1915_GI.json",
* manifestHash: std.filebase64sha256({
* input: json,
* }).then(invoke => invoke.result),
* tags: {
* Name: "example",
* Key: "value",
* },
* });
* ```
*
* ### RDS Custom for SQL Server Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
*
* // CEV creation requires an AMI owned by the operator
* const test = new aws.rds.CustomDbEngineVersion("test", {
* engine: "custom-sqlserver-se",
* engineVersion: "15.00.4249.2.cev-1",
* sourceImageId: "ami-0aa12345678a12ab1",
* });
* ```
*
* ### RDS Custom for SQL Server Usage with AMI from another region
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
*
* const example = new aws.ec2.AmiCopy("example", {
* name: "sqlserver-se-2019-15.00.4249.2",
* description: "A copy of ami-xxxxxxxx",
* sourceAmiId: "ami-xxxxxxxx",
* sourceAmiRegion: "us-east-1",
* });
* // CEV creation requires an AMI owned by the operator
* const test = new aws.rds.CustomDbEngineVersion("test", {
* engine: "custom-sqlserver-se",
* engineVersion: "15.00.4249.2.cev-1",
* sourceImageId: example.id,
* });
* ```
*
* ## Import
*
* Using `pulumi import`, import custom engine versions for Amazon RDS custom using the `engine` and `engine_version` separated by a colon (`:`). For example:
*
* ```sh
* $ pulumi import aws:rds/customDbEngineVersion:CustomDbEngineVersion example custom-oracle-ee-cdb:19.cdb_cev1
* ```
*/
class CustomDbEngineVersion extends pulumi.CustomResource {
/**
* Get an existing CustomDbEngineVersion 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 state Any extra arguments used during the lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name, id, state, opts) {
return new CustomDbEngineVersion(name, state, { ...opts, id: id });
}
/**
* Returns true if the given object is an instance of CustomDbEngineVersion. 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'] === CustomDbEngineVersion.__pulumiType;
}
constructor(name, argsOrState, opts) {
let resourceInputs = {};
opts = opts || {};
if (opts.id) {
const state = argsOrState;
resourceInputs["arn"] = state?.arn;
resourceInputs["createTime"] = state?.createTime;
resourceInputs["databaseInstallationFilesS3BucketName"] = state?.databaseInstallationFilesS3BucketName;
resourceInputs["databaseInstallationFilesS3Prefix"] = state?.databaseInstallationFilesS3Prefix;
resourceInputs["dbParameterGroupFamily"] = state?.dbParameterGroupFamily;
resourceInputs["description"] = state?.description;
resourceInputs["engine"] = state?.engine;
resourceInputs["engineVersion"] = state?.engineVersion;
resourceInputs["filename"] = state?.filename;
resourceInputs["imageId"] = state?.imageId;
resourceInputs["kmsKeyId"] = state?.kmsKeyId;
resourceInputs["majorEngineVersion"] = state?.majorEngineVersion;
resourceInputs["manifest"] = state?.manifest;
resourceInputs["manifestComputed"] = state?.manifestComputed;
resourceInputs["manifestHash"] = state?.manifestHash;
resourceInputs["region"] = state?.region;
resourceInputs["sourceImageId"] = state?.sourceImageId;
resourceInputs["status"] = state?.status;
resourceInputs["tags"] = state?.tags;
resourceInputs["tagsAll"] = state?.tagsAll;
}
else {
const args = argsOrState;
if (args?.engine === undefined && !opts.urn) {
throw new Error("Missing required property 'engine'");
}
if (args?.engineVersion === undefined && !opts.urn) {
throw new Error("Missing required property 'engineVersion'");
}
resourceInputs["databaseInstallationFilesS3BucketName"] = args?.databaseInstallationFilesS3BucketName;
resourceInputs["databaseInstallationFilesS3Prefix"] = args?.databaseInstallationFilesS3Prefix;
resourceInputs["description"] = args?.description;
resourceInputs["engine"] = args?.engine;
resourceInputs["engineVersion"] = args?.engineVersion;
resourceInputs["filename"] = args?.filename;
resourceInputs["kmsKeyId"] = args?.kmsKeyId;
resourceInputs["manifest"] = args?.manifest;
resourceInputs["manifestHash"] = args?.manifestHash;
resourceInputs["region"] = args?.region;
resourceInputs["sourceImageId"] = args?.sourceImageId;
resourceInputs["status"] = args?.status;
resourceInputs["tags"] = args?.tags;
resourceInputs["arn"] = undefined /*out*/;
resourceInputs["createTime"] = undefined /*out*/;
resourceInputs["dbParameterGroupFamily"] = undefined /*out*/;
resourceInputs["imageId"] = undefined /*out*/;
resourceInputs["majorEngineVersion"] = undefined /*out*/;
resourceInputs["manifestComputed"] = undefined /*out*/;
resourceInputs["tagsAll"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
super(CustomDbEngineVersion.__pulumiType, name, resourceInputs, opts);
}
}
exports.CustomDbEngineVersion = CustomDbEngineVersion;
/** @internal */
CustomDbEngineVersion.__pulumiType = 'aws:rds/customDbEngineVersion:CustomDbEngineVersion';
//# sourceMappingURL=customDbEngineVersion.js.map