github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/rds/customDbEngineVersion.go (about)

     1  // Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT.
     2  // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
     3  
     4  package rds
     5  
     6  import (
     7  	"context"
     8  	"reflect"
     9  
    10  	"errors"
    11  	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal"
    12  	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    13  )
    14  
    15  // 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).
    16  //
    17  // ## Example Usage
    18  //
    19  // ### RDS Custom for Oracle Usage
    20  //
    21  // <!--Start PulumiCodeChooser -->
    22  // ```go
    23  // package main
    24  //
    25  // import (
    26  //
    27  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms"
    28  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds"
    29  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    30  //
    31  // )
    32  //
    33  //	func main() {
    34  //		pulumi.Run(func(ctx *pulumi.Context) error {
    35  //			example, err := kms.NewKey(ctx, "example", &kms.KeyArgs{
    36  //				Description: pulumi.String("KMS symmetric key for RDS Custom for Oracle"),
    37  //			})
    38  //			if err != nil {
    39  //				return err
    40  //			}
    41  //			_, err = rds.NewCustomDbEngineVersion(ctx, "example", &rds.CustomDbEngineVersionArgs{
    42  //				DatabaseInstallationFilesS3BucketName: pulumi.String("DOC-EXAMPLE-BUCKET"),
    43  //				DatabaseInstallationFilesS3Prefix:     pulumi.String("1915_GI/"),
    44  //				Engine:                                pulumi.String("custom-oracle-ee-cdb"),
    45  //				EngineVersion:                         pulumi.String("19.cdb_cev1"),
    46  //				KmsKeyId:                              example.Arn,
    47  //				Manifest:                              pulumi.String("  {\n	\"databaseInstallationFileNames\":[\"V982063-01.zip\"]\n  }\n"),
    48  //				Tags: pulumi.StringMap{
    49  //					"Name": pulumi.String("example"),
    50  //					"Key":  pulumi.String("value"),
    51  //				},
    52  //			})
    53  //			if err != nil {
    54  //				return err
    55  //			}
    56  //			return nil
    57  //		})
    58  //	}
    59  //
    60  // ```
    61  // <!--End PulumiCodeChooser -->
    62  //
    63  // ### RDS Custom for Oracle External Manifest Usage
    64  //
    65  // <!--Start PulumiCodeChooser -->
    66  // ```go
    67  // package main
    68  //
    69  // import (
    70  //
    71  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kms"
    72  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds"
    73  //	"github.com/pulumi/pulumi-std/sdk/go/std"
    74  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    75  //
    76  // )
    77  //
    78  //	func main() {
    79  //		pulumi.Run(func(ctx *pulumi.Context) error {
    80  //			example, err := kms.NewKey(ctx, "example", &kms.KeyArgs{
    81  //				Description: pulumi.String("KMS symmetric key for RDS Custom for Oracle"),
    82  //			})
    83  //			if err != nil {
    84  //				return err
    85  //			}
    86  //			invokeFilebase64sha256, err := std.Filebase64sha256(ctx, &std.Filebase64sha256Args{
    87  //				Input: json,
    88  //			}, nil)
    89  //			if err != nil {
    90  //				return err
    91  //			}
    92  //			_, err = rds.NewCustomDbEngineVersion(ctx, "example", &rds.CustomDbEngineVersionArgs{
    93  //				DatabaseInstallationFilesS3BucketName: pulumi.String("DOC-EXAMPLE-BUCKET"),
    94  //				DatabaseInstallationFilesS3Prefix:     pulumi.String("1915_GI/"),
    95  //				Engine:                                pulumi.String("custom-oracle-ee-cdb"),
    96  //				EngineVersion:                         pulumi.String("19.cdb_cev1"),
    97  //				KmsKeyId:                              example.Arn,
    98  //				Filename:                              pulumi.String("manifest_1915_GI.json"),
    99  //				ManifestHash:                          invokeFilebase64sha256.Result,
   100  //				Tags: pulumi.StringMap{
   101  //					"Name": pulumi.String("example"),
   102  //					"Key":  pulumi.String("value"),
   103  //				},
   104  //			})
   105  //			if err != nil {
   106  //				return err
   107  //			}
   108  //			return nil
   109  //		})
   110  //	}
   111  //
   112  // ```
   113  // <!--End PulumiCodeChooser -->
   114  //
   115  // ### RDS Custom for SQL Server Usage
   116  //
   117  // <!--Start PulumiCodeChooser -->
   118  // ```go
   119  // package main
   120  //
   121  // import (
   122  //
   123  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds"
   124  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
   125  //
   126  // )
   127  //
   128  //	func main() {
   129  //		pulumi.Run(func(ctx *pulumi.Context) error {
   130  //			// CEV creation requires an AMI owned by the operator
   131  //			_, err := rds.NewCustomDbEngineVersion(ctx, "test", &rds.CustomDbEngineVersionArgs{
   132  //				Engine:        pulumi.String("custom-sqlserver-se"),
   133  //				EngineVersion: pulumi.String("15.00.4249.2.cev-1"),
   134  //				SourceImageId: pulumi.String("ami-0aa12345678a12ab1"),
   135  //			})
   136  //			if err != nil {
   137  //				return err
   138  //			}
   139  //			return nil
   140  //		})
   141  //	}
   142  //
   143  // ```
   144  // <!--End PulumiCodeChooser -->
   145  //
   146  // ### RDS Custom for SQL Server Usage with AMI from another region
   147  //
   148  // <!--Start PulumiCodeChooser -->
   149  // ```go
   150  // package main
   151  //
   152  // import (
   153  //
   154  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2"
   155  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds"
   156  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
   157  //
   158  // )
   159  //
   160  //	func main() {
   161  //		pulumi.Run(func(ctx *pulumi.Context) error {
   162  //			example, err := ec2.NewAmiCopy(ctx, "example", &ec2.AmiCopyArgs{
   163  //				Name:            pulumi.String("sqlserver-se-2019-15.00.4249.2"),
   164  //				Description:     pulumi.String("A copy of ami-xxxxxxxx"),
   165  //				SourceAmiId:     pulumi.String("ami-xxxxxxxx"),
   166  //				SourceAmiRegion: pulumi.String("us-east-1"),
   167  //			})
   168  //			if err != nil {
   169  //				return err
   170  //			}
   171  //			// CEV creation requires an AMI owned by the operator
   172  //			_, err = rds.NewCustomDbEngineVersion(ctx, "test", &rds.CustomDbEngineVersionArgs{
   173  //				Engine:        pulumi.String("custom-sqlserver-se"),
   174  //				EngineVersion: pulumi.String("15.00.4249.2.cev-1"),
   175  //				SourceImageId: example.ID(),
   176  //			})
   177  //			if err != nil {
   178  //				return err
   179  //			}
   180  //			return nil
   181  //		})
   182  //	}
   183  //
   184  // ```
   185  // <!--End PulumiCodeChooser -->
   186  //
   187  // ## Import
   188  //
   189  // Using `pulumi import`, import custom engine versions for Amazon RDS custom using the `engine` and `engine_version` separated by a colon (`:`). For example:
   190  //
   191  // ```sh
   192  // $ pulumi import aws:rds/customDbEngineVersion:CustomDbEngineVersion example custom-oracle-ee-cdb:19.cdb_cev1
   193  // ```
   194  type CustomDbEngineVersion struct {
   195  	pulumi.CustomResourceState
   196  
   197  	// The Amazon Resource Name (ARN) for the custom engine version.
   198  	Arn pulumi.StringOutput `pulumi:"arn"`
   199  	// The date and time that the CEV was created.
   200  	CreateTime pulumi.StringOutput `pulumi:"createTime"`
   201  	// The name of the Amazon S3 bucket that contains the database installation files.
   202  	DatabaseInstallationFilesS3BucketName pulumi.StringPtrOutput `pulumi:"databaseInstallationFilesS3BucketName"`
   203  	// The prefix for the Amazon S3 bucket that contains the database installation files.
   204  	DatabaseInstallationFilesS3Prefix pulumi.StringPtrOutput `pulumi:"databaseInstallationFilesS3Prefix"`
   205  	// The name of the DB parameter group family for the CEV.
   206  	DbParameterGroupFamily pulumi.StringOutput `pulumi:"dbParameterGroupFamily"`
   207  	// The description of the CEV.
   208  	Description pulumi.StringPtrOutput `pulumi:"description"`
   209  	// The name of the database engine. Valid values are `custom-oracle*`, `custom-sqlserver*`.
   210  	Engine pulumi.StringOutput `pulumi:"engine"`
   211  	// The version of the database engine.
   212  	EngineVersion pulumi.StringOutput `pulumi:"engineVersion"`
   213  	// The name of the manifest file within the local filesystem. Conflicts with `manifest`.
   214  	Filename pulumi.StringPtrOutput `pulumi:"filename"`
   215  	// The ID of the AMI that was created with the CEV.
   216  	ImageId pulumi.StringOutput `pulumi:"imageId"`
   217  	// The ARN of the AWS KMS key that is used to encrypt the database installation files. Required for RDS Custom for Oracle.
   218  	KmsKeyId pulumi.StringOutput `pulumi:"kmsKeyId"`
   219  	// The major version of the database engine.
   220  	MajorEngineVersion pulumi.StringOutput `pulumi:"majorEngineVersion"`
   221  	// The manifest file, in JSON format, that contains the list of database installation files. Conflicts with `filename`.
   222  	Manifest pulumi.StringPtrOutput `pulumi:"manifest"`
   223  	// The returned manifest file, in JSON format, service generated and often different from input `manifest`.
   224  	ManifestComputed pulumi.StringOutput `pulumi:"manifestComputed"`
   225  	// Used to trigger updates. Must be set to a base64-encoded SHA256 hash of the manifest source specified with `filename`. The usual way to set this is filebase64sha256("manifest.json") where "manifest.json" is the local filename of the manifest source.
   226  	ManifestHash pulumi.StringPtrOutput `pulumi:"manifestHash"`
   227  	// The ID of the AMI to create the CEV from. Required for RDS Custom for SQL Server. For RDS Custom for Oracle, you can specify an AMI ID that was used in a different Oracle CEV.
   228  	SourceImageId pulumi.StringPtrOutput `pulumi:"sourceImageId"`
   229  	// The status of the CEV. Valid values are `available`, `inactive`, `inactive-except-restore`.
   230  	Status pulumi.StringOutput `pulumi:"status"`
   231  	// A mapping of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   232  	Tags pulumi.StringMapOutput `pulumi:"tags"`
   233  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   234  	//
   235  	// Deprecated: Please use `tags` instead.
   236  	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
   237  }
   238  
   239  // NewCustomDbEngineVersion registers a new resource with the given unique name, arguments, and options.
   240  func NewCustomDbEngineVersion(ctx *pulumi.Context,
   241  	name string, args *CustomDbEngineVersionArgs, opts ...pulumi.ResourceOption) (*CustomDbEngineVersion, error) {
   242  	if args == nil {
   243  		return nil, errors.New("missing one or more required arguments")
   244  	}
   245  
   246  	if args.Engine == nil {
   247  		return nil, errors.New("invalid value for required argument 'Engine'")
   248  	}
   249  	if args.EngineVersion == nil {
   250  		return nil, errors.New("invalid value for required argument 'EngineVersion'")
   251  	}
   252  	opts = internal.PkgResourceDefaultOpts(opts)
   253  	var resource CustomDbEngineVersion
   254  	err := ctx.RegisterResource("aws:rds/customDbEngineVersion:CustomDbEngineVersion", name, args, &resource, opts...)
   255  	if err != nil {
   256  		return nil, err
   257  	}
   258  	return &resource, nil
   259  }
   260  
   261  // GetCustomDbEngineVersion gets an existing CustomDbEngineVersion resource's state with the given name, ID, and optional
   262  // state properties that are used to uniquely qualify the lookup (nil if not required).
   263  func GetCustomDbEngineVersion(ctx *pulumi.Context,
   264  	name string, id pulumi.IDInput, state *CustomDbEngineVersionState, opts ...pulumi.ResourceOption) (*CustomDbEngineVersion, error) {
   265  	var resource CustomDbEngineVersion
   266  	err := ctx.ReadResource("aws:rds/customDbEngineVersion:CustomDbEngineVersion", name, id, state, &resource, opts...)
   267  	if err != nil {
   268  		return nil, err
   269  	}
   270  	return &resource, nil
   271  }
   272  
   273  // Input properties used for looking up and filtering CustomDbEngineVersion resources.
   274  type customDbEngineVersionState struct {
   275  	// The Amazon Resource Name (ARN) for the custom engine version.
   276  	Arn *string `pulumi:"arn"`
   277  	// The date and time that the CEV was created.
   278  	CreateTime *string `pulumi:"createTime"`
   279  	// The name of the Amazon S3 bucket that contains the database installation files.
   280  	DatabaseInstallationFilesS3BucketName *string `pulumi:"databaseInstallationFilesS3BucketName"`
   281  	// The prefix for the Amazon S3 bucket that contains the database installation files.
   282  	DatabaseInstallationFilesS3Prefix *string `pulumi:"databaseInstallationFilesS3Prefix"`
   283  	// The name of the DB parameter group family for the CEV.
   284  	DbParameterGroupFamily *string `pulumi:"dbParameterGroupFamily"`
   285  	// The description of the CEV.
   286  	Description *string `pulumi:"description"`
   287  	// The name of the database engine. Valid values are `custom-oracle*`, `custom-sqlserver*`.
   288  	Engine *string `pulumi:"engine"`
   289  	// The version of the database engine.
   290  	EngineVersion *string `pulumi:"engineVersion"`
   291  	// The name of the manifest file within the local filesystem. Conflicts with `manifest`.
   292  	Filename *string `pulumi:"filename"`
   293  	// The ID of the AMI that was created with the CEV.
   294  	ImageId *string `pulumi:"imageId"`
   295  	// The ARN of the AWS KMS key that is used to encrypt the database installation files. Required for RDS Custom for Oracle.
   296  	KmsKeyId *string `pulumi:"kmsKeyId"`
   297  	// The major version of the database engine.
   298  	MajorEngineVersion *string `pulumi:"majorEngineVersion"`
   299  	// The manifest file, in JSON format, that contains the list of database installation files. Conflicts with `filename`.
   300  	Manifest *string `pulumi:"manifest"`
   301  	// The returned manifest file, in JSON format, service generated and often different from input `manifest`.
   302  	ManifestComputed *string `pulumi:"manifestComputed"`
   303  	// Used to trigger updates. Must be set to a base64-encoded SHA256 hash of the manifest source specified with `filename`. The usual way to set this is filebase64sha256("manifest.json") where "manifest.json" is the local filename of the manifest source.
   304  	ManifestHash *string `pulumi:"manifestHash"`
   305  	// The ID of the AMI to create the CEV from. Required for RDS Custom for SQL Server. For RDS Custom for Oracle, you can specify an AMI ID that was used in a different Oracle CEV.
   306  	SourceImageId *string `pulumi:"sourceImageId"`
   307  	// The status of the CEV. Valid values are `available`, `inactive`, `inactive-except-restore`.
   308  	Status *string `pulumi:"status"`
   309  	// A mapping of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   310  	Tags map[string]string `pulumi:"tags"`
   311  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   312  	//
   313  	// Deprecated: Please use `tags` instead.
   314  	TagsAll map[string]string `pulumi:"tagsAll"`
   315  }
   316  
   317  type CustomDbEngineVersionState struct {
   318  	// The Amazon Resource Name (ARN) for the custom engine version.
   319  	Arn pulumi.StringPtrInput
   320  	// The date and time that the CEV was created.
   321  	CreateTime pulumi.StringPtrInput
   322  	// The name of the Amazon S3 bucket that contains the database installation files.
   323  	DatabaseInstallationFilesS3BucketName pulumi.StringPtrInput
   324  	// The prefix for the Amazon S3 bucket that contains the database installation files.
   325  	DatabaseInstallationFilesS3Prefix pulumi.StringPtrInput
   326  	// The name of the DB parameter group family for the CEV.
   327  	DbParameterGroupFamily pulumi.StringPtrInput
   328  	// The description of the CEV.
   329  	Description pulumi.StringPtrInput
   330  	// The name of the database engine. Valid values are `custom-oracle*`, `custom-sqlserver*`.
   331  	Engine pulumi.StringPtrInput
   332  	// The version of the database engine.
   333  	EngineVersion pulumi.StringPtrInput
   334  	// The name of the manifest file within the local filesystem. Conflicts with `manifest`.
   335  	Filename pulumi.StringPtrInput
   336  	// The ID of the AMI that was created with the CEV.
   337  	ImageId pulumi.StringPtrInput
   338  	// The ARN of the AWS KMS key that is used to encrypt the database installation files. Required for RDS Custom for Oracle.
   339  	KmsKeyId pulumi.StringPtrInput
   340  	// The major version of the database engine.
   341  	MajorEngineVersion pulumi.StringPtrInput
   342  	// The manifest file, in JSON format, that contains the list of database installation files. Conflicts with `filename`.
   343  	Manifest pulumi.StringPtrInput
   344  	// The returned manifest file, in JSON format, service generated and often different from input `manifest`.
   345  	ManifestComputed pulumi.StringPtrInput
   346  	// Used to trigger updates. Must be set to a base64-encoded SHA256 hash of the manifest source specified with `filename`. The usual way to set this is filebase64sha256("manifest.json") where "manifest.json" is the local filename of the manifest source.
   347  	ManifestHash pulumi.StringPtrInput
   348  	// The ID of the AMI to create the CEV from. Required for RDS Custom for SQL Server. For RDS Custom for Oracle, you can specify an AMI ID that was used in a different Oracle CEV.
   349  	SourceImageId pulumi.StringPtrInput
   350  	// The status of the CEV. Valid values are `available`, `inactive`, `inactive-except-restore`.
   351  	Status pulumi.StringPtrInput
   352  	// A mapping of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   353  	Tags pulumi.StringMapInput
   354  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   355  	//
   356  	// Deprecated: Please use `tags` instead.
   357  	TagsAll pulumi.StringMapInput
   358  }
   359  
   360  func (CustomDbEngineVersionState) ElementType() reflect.Type {
   361  	return reflect.TypeOf((*customDbEngineVersionState)(nil)).Elem()
   362  }
   363  
   364  type customDbEngineVersionArgs struct {
   365  	// The name of the Amazon S3 bucket that contains the database installation files.
   366  	DatabaseInstallationFilesS3BucketName *string `pulumi:"databaseInstallationFilesS3BucketName"`
   367  	// The prefix for the Amazon S3 bucket that contains the database installation files.
   368  	DatabaseInstallationFilesS3Prefix *string `pulumi:"databaseInstallationFilesS3Prefix"`
   369  	// The description of the CEV.
   370  	Description *string `pulumi:"description"`
   371  	// The name of the database engine. Valid values are `custom-oracle*`, `custom-sqlserver*`.
   372  	Engine string `pulumi:"engine"`
   373  	// The version of the database engine.
   374  	EngineVersion string `pulumi:"engineVersion"`
   375  	// The name of the manifest file within the local filesystem. Conflicts with `manifest`.
   376  	Filename *string `pulumi:"filename"`
   377  	// The ARN of the AWS KMS key that is used to encrypt the database installation files. Required for RDS Custom for Oracle.
   378  	KmsKeyId *string `pulumi:"kmsKeyId"`
   379  	// The manifest file, in JSON format, that contains the list of database installation files. Conflicts with `filename`.
   380  	Manifest *string `pulumi:"manifest"`
   381  	// Used to trigger updates. Must be set to a base64-encoded SHA256 hash of the manifest source specified with `filename`. The usual way to set this is filebase64sha256("manifest.json") where "manifest.json" is the local filename of the manifest source.
   382  	ManifestHash *string `pulumi:"manifestHash"`
   383  	// The ID of the AMI to create the CEV from. Required for RDS Custom for SQL Server. For RDS Custom for Oracle, you can specify an AMI ID that was used in a different Oracle CEV.
   384  	SourceImageId *string `pulumi:"sourceImageId"`
   385  	// The status of the CEV. Valid values are `available`, `inactive`, `inactive-except-restore`.
   386  	Status *string `pulumi:"status"`
   387  	// A mapping of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   388  	Tags map[string]string `pulumi:"tags"`
   389  }
   390  
   391  // The set of arguments for constructing a CustomDbEngineVersion resource.
   392  type CustomDbEngineVersionArgs struct {
   393  	// The name of the Amazon S3 bucket that contains the database installation files.
   394  	DatabaseInstallationFilesS3BucketName pulumi.StringPtrInput
   395  	// The prefix for the Amazon S3 bucket that contains the database installation files.
   396  	DatabaseInstallationFilesS3Prefix pulumi.StringPtrInput
   397  	// The description of the CEV.
   398  	Description pulumi.StringPtrInput
   399  	// The name of the database engine. Valid values are `custom-oracle*`, `custom-sqlserver*`.
   400  	Engine pulumi.StringInput
   401  	// The version of the database engine.
   402  	EngineVersion pulumi.StringInput
   403  	// The name of the manifest file within the local filesystem. Conflicts with `manifest`.
   404  	Filename pulumi.StringPtrInput
   405  	// The ARN of the AWS KMS key that is used to encrypt the database installation files. Required for RDS Custom for Oracle.
   406  	KmsKeyId pulumi.StringPtrInput
   407  	// The manifest file, in JSON format, that contains the list of database installation files. Conflicts with `filename`.
   408  	Manifest pulumi.StringPtrInput
   409  	// Used to trigger updates. Must be set to a base64-encoded SHA256 hash of the manifest source specified with `filename`. The usual way to set this is filebase64sha256("manifest.json") where "manifest.json" is the local filename of the manifest source.
   410  	ManifestHash pulumi.StringPtrInput
   411  	// The ID of the AMI to create the CEV from. Required for RDS Custom for SQL Server. For RDS Custom for Oracle, you can specify an AMI ID that was used in a different Oracle CEV.
   412  	SourceImageId pulumi.StringPtrInput
   413  	// The status of the CEV. Valid values are `available`, `inactive`, `inactive-except-restore`.
   414  	Status pulumi.StringPtrInput
   415  	// A mapping of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   416  	Tags pulumi.StringMapInput
   417  }
   418  
   419  func (CustomDbEngineVersionArgs) ElementType() reflect.Type {
   420  	return reflect.TypeOf((*customDbEngineVersionArgs)(nil)).Elem()
   421  }
   422  
   423  type CustomDbEngineVersionInput interface {
   424  	pulumi.Input
   425  
   426  	ToCustomDbEngineVersionOutput() CustomDbEngineVersionOutput
   427  	ToCustomDbEngineVersionOutputWithContext(ctx context.Context) CustomDbEngineVersionOutput
   428  }
   429  
   430  func (*CustomDbEngineVersion) ElementType() reflect.Type {
   431  	return reflect.TypeOf((**CustomDbEngineVersion)(nil)).Elem()
   432  }
   433  
   434  func (i *CustomDbEngineVersion) ToCustomDbEngineVersionOutput() CustomDbEngineVersionOutput {
   435  	return i.ToCustomDbEngineVersionOutputWithContext(context.Background())
   436  }
   437  
   438  func (i *CustomDbEngineVersion) ToCustomDbEngineVersionOutputWithContext(ctx context.Context) CustomDbEngineVersionOutput {
   439  	return pulumi.ToOutputWithContext(ctx, i).(CustomDbEngineVersionOutput)
   440  }
   441  
   442  // CustomDbEngineVersionArrayInput is an input type that accepts CustomDbEngineVersionArray and CustomDbEngineVersionArrayOutput values.
   443  // You can construct a concrete instance of `CustomDbEngineVersionArrayInput` via:
   444  //
   445  //	CustomDbEngineVersionArray{ CustomDbEngineVersionArgs{...} }
   446  type CustomDbEngineVersionArrayInput interface {
   447  	pulumi.Input
   448  
   449  	ToCustomDbEngineVersionArrayOutput() CustomDbEngineVersionArrayOutput
   450  	ToCustomDbEngineVersionArrayOutputWithContext(context.Context) CustomDbEngineVersionArrayOutput
   451  }
   452  
   453  type CustomDbEngineVersionArray []CustomDbEngineVersionInput
   454  
   455  func (CustomDbEngineVersionArray) ElementType() reflect.Type {
   456  	return reflect.TypeOf((*[]*CustomDbEngineVersion)(nil)).Elem()
   457  }
   458  
   459  func (i CustomDbEngineVersionArray) ToCustomDbEngineVersionArrayOutput() CustomDbEngineVersionArrayOutput {
   460  	return i.ToCustomDbEngineVersionArrayOutputWithContext(context.Background())
   461  }
   462  
   463  func (i CustomDbEngineVersionArray) ToCustomDbEngineVersionArrayOutputWithContext(ctx context.Context) CustomDbEngineVersionArrayOutput {
   464  	return pulumi.ToOutputWithContext(ctx, i).(CustomDbEngineVersionArrayOutput)
   465  }
   466  
   467  // CustomDbEngineVersionMapInput is an input type that accepts CustomDbEngineVersionMap and CustomDbEngineVersionMapOutput values.
   468  // You can construct a concrete instance of `CustomDbEngineVersionMapInput` via:
   469  //
   470  //	CustomDbEngineVersionMap{ "key": CustomDbEngineVersionArgs{...} }
   471  type CustomDbEngineVersionMapInput interface {
   472  	pulumi.Input
   473  
   474  	ToCustomDbEngineVersionMapOutput() CustomDbEngineVersionMapOutput
   475  	ToCustomDbEngineVersionMapOutputWithContext(context.Context) CustomDbEngineVersionMapOutput
   476  }
   477  
   478  type CustomDbEngineVersionMap map[string]CustomDbEngineVersionInput
   479  
   480  func (CustomDbEngineVersionMap) ElementType() reflect.Type {
   481  	return reflect.TypeOf((*map[string]*CustomDbEngineVersion)(nil)).Elem()
   482  }
   483  
   484  func (i CustomDbEngineVersionMap) ToCustomDbEngineVersionMapOutput() CustomDbEngineVersionMapOutput {
   485  	return i.ToCustomDbEngineVersionMapOutputWithContext(context.Background())
   486  }
   487  
   488  func (i CustomDbEngineVersionMap) ToCustomDbEngineVersionMapOutputWithContext(ctx context.Context) CustomDbEngineVersionMapOutput {
   489  	return pulumi.ToOutputWithContext(ctx, i).(CustomDbEngineVersionMapOutput)
   490  }
   491  
   492  type CustomDbEngineVersionOutput struct{ *pulumi.OutputState }
   493  
   494  func (CustomDbEngineVersionOutput) ElementType() reflect.Type {
   495  	return reflect.TypeOf((**CustomDbEngineVersion)(nil)).Elem()
   496  }
   497  
   498  func (o CustomDbEngineVersionOutput) ToCustomDbEngineVersionOutput() CustomDbEngineVersionOutput {
   499  	return o
   500  }
   501  
   502  func (o CustomDbEngineVersionOutput) ToCustomDbEngineVersionOutputWithContext(ctx context.Context) CustomDbEngineVersionOutput {
   503  	return o
   504  }
   505  
   506  // The Amazon Resource Name (ARN) for the custom engine version.
   507  func (o CustomDbEngineVersionOutput) Arn() pulumi.StringOutput {
   508  	return o.ApplyT(func(v *CustomDbEngineVersion) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput)
   509  }
   510  
   511  // The date and time that the CEV was created.
   512  func (o CustomDbEngineVersionOutput) CreateTime() pulumi.StringOutput {
   513  	return o.ApplyT(func(v *CustomDbEngineVersion) pulumi.StringOutput { return v.CreateTime }).(pulumi.StringOutput)
   514  }
   515  
   516  // The name of the Amazon S3 bucket that contains the database installation files.
   517  func (o CustomDbEngineVersionOutput) DatabaseInstallationFilesS3BucketName() pulumi.StringPtrOutput {
   518  	return o.ApplyT(func(v *CustomDbEngineVersion) pulumi.StringPtrOutput { return v.DatabaseInstallationFilesS3BucketName }).(pulumi.StringPtrOutput)
   519  }
   520  
   521  // The prefix for the Amazon S3 bucket that contains the database installation files.
   522  func (o CustomDbEngineVersionOutput) DatabaseInstallationFilesS3Prefix() pulumi.StringPtrOutput {
   523  	return o.ApplyT(func(v *CustomDbEngineVersion) pulumi.StringPtrOutput { return v.DatabaseInstallationFilesS3Prefix }).(pulumi.StringPtrOutput)
   524  }
   525  
   526  // The name of the DB parameter group family for the CEV.
   527  func (o CustomDbEngineVersionOutput) DbParameterGroupFamily() pulumi.StringOutput {
   528  	return o.ApplyT(func(v *CustomDbEngineVersion) pulumi.StringOutput { return v.DbParameterGroupFamily }).(pulumi.StringOutput)
   529  }
   530  
   531  // The description of the CEV.
   532  func (o CustomDbEngineVersionOutput) Description() pulumi.StringPtrOutput {
   533  	return o.ApplyT(func(v *CustomDbEngineVersion) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput)
   534  }
   535  
   536  // The name of the database engine. Valid values are `custom-oracle*`, `custom-sqlserver*`.
   537  func (o CustomDbEngineVersionOutput) Engine() pulumi.StringOutput {
   538  	return o.ApplyT(func(v *CustomDbEngineVersion) pulumi.StringOutput { return v.Engine }).(pulumi.StringOutput)
   539  }
   540  
   541  // The version of the database engine.
   542  func (o CustomDbEngineVersionOutput) EngineVersion() pulumi.StringOutput {
   543  	return o.ApplyT(func(v *CustomDbEngineVersion) pulumi.StringOutput { return v.EngineVersion }).(pulumi.StringOutput)
   544  }
   545  
   546  // The name of the manifest file within the local filesystem. Conflicts with `manifest`.
   547  func (o CustomDbEngineVersionOutput) Filename() pulumi.StringPtrOutput {
   548  	return o.ApplyT(func(v *CustomDbEngineVersion) pulumi.StringPtrOutput { return v.Filename }).(pulumi.StringPtrOutput)
   549  }
   550  
   551  // The ID of the AMI that was created with the CEV.
   552  func (o CustomDbEngineVersionOutput) ImageId() pulumi.StringOutput {
   553  	return o.ApplyT(func(v *CustomDbEngineVersion) pulumi.StringOutput { return v.ImageId }).(pulumi.StringOutput)
   554  }
   555  
   556  // The ARN of the AWS KMS key that is used to encrypt the database installation files. Required for RDS Custom for Oracle.
   557  func (o CustomDbEngineVersionOutput) KmsKeyId() pulumi.StringOutput {
   558  	return o.ApplyT(func(v *CustomDbEngineVersion) pulumi.StringOutput { return v.KmsKeyId }).(pulumi.StringOutput)
   559  }
   560  
   561  // The major version of the database engine.
   562  func (o CustomDbEngineVersionOutput) MajorEngineVersion() pulumi.StringOutput {
   563  	return o.ApplyT(func(v *CustomDbEngineVersion) pulumi.StringOutput { return v.MajorEngineVersion }).(pulumi.StringOutput)
   564  }
   565  
   566  // The manifest file, in JSON format, that contains the list of database installation files. Conflicts with `filename`.
   567  func (o CustomDbEngineVersionOutput) Manifest() pulumi.StringPtrOutput {
   568  	return o.ApplyT(func(v *CustomDbEngineVersion) pulumi.StringPtrOutput { return v.Manifest }).(pulumi.StringPtrOutput)
   569  }
   570  
   571  // The returned manifest file, in JSON format, service generated and often different from input `manifest`.
   572  func (o CustomDbEngineVersionOutput) ManifestComputed() pulumi.StringOutput {
   573  	return o.ApplyT(func(v *CustomDbEngineVersion) pulumi.StringOutput { return v.ManifestComputed }).(pulumi.StringOutput)
   574  }
   575  
   576  // Used to trigger updates. Must be set to a base64-encoded SHA256 hash of the manifest source specified with `filename`. The usual way to set this is filebase64sha256("manifest.json") where "manifest.json" is the local filename of the manifest source.
   577  func (o CustomDbEngineVersionOutput) ManifestHash() pulumi.StringPtrOutput {
   578  	return o.ApplyT(func(v *CustomDbEngineVersion) pulumi.StringPtrOutput { return v.ManifestHash }).(pulumi.StringPtrOutput)
   579  }
   580  
   581  // The ID of the AMI to create the CEV from. Required for RDS Custom for SQL Server. For RDS Custom for Oracle, you can specify an AMI ID that was used in a different Oracle CEV.
   582  func (o CustomDbEngineVersionOutput) SourceImageId() pulumi.StringPtrOutput {
   583  	return o.ApplyT(func(v *CustomDbEngineVersion) pulumi.StringPtrOutput { return v.SourceImageId }).(pulumi.StringPtrOutput)
   584  }
   585  
   586  // The status of the CEV. Valid values are `available`, `inactive`, `inactive-except-restore`.
   587  func (o CustomDbEngineVersionOutput) Status() pulumi.StringOutput {
   588  	return o.ApplyT(func(v *CustomDbEngineVersion) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput)
   589  }
   590  
   591  // A mapping of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   592  func (o CustomDbEngineVersionOutput) Tags() pulumi.StringMapOutput {
   593  	return o.ApplyT(func(v *CustomDbEngineVersion) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput)
   594  }
   595  
   596  // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   597  //
   598  // Deprecated: Please use `tags` instead.
   599  func (o CustomDbEngineVersionOutput) TagsAll() pulumi.StringMapOutput {
   600  	return o.ApplyT(func(v *CustomDbEngineVersion) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput)
   601  }
   602  
   603  type CustomDbEngineVersionArrayOutput struct{ *pulumi.OutputState }
   604  
   605  func (CustomDbEngineVersionArrayOutput) ElementType() reflect.Type {
   606  	return reflect.TypeOf((*[]*CustomDbEngineVersion)(nil)).Elem()
   607  }
   608  
   609  func (o CustomDbEngineVersionArrayOutput) ToCustomDbEngineVersionArrayOutput() CustomDbEngineVersionArrayOutput {
   610  	return o
   611  }
   612  
   613  func (o CustomDbEngineVersionArrayOutput) ToCustomDbEngineVersionArrayOutputWithContext(ctx context.Context) CustomDbEngineVersionArrayOutput {
   614  	return o
   615  }
   616  
   617  func (o CustomDbEngineVersionArrayOutput) Index(i pulumi.IntInput) CustomDbEngineVersionOutput {
   618  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *CustomDbEngineVersion {
   619  		return vs[0].([]*CustomDbEngineVersion)[vs[1].(int)]
   620  	}).(CustomDbEngineVersionOutput)
   621  }
   622  
   623  type CustomDbEngineVersionMapOutput struct{ *pulumi.OutputState }
   624  
   625  func (CustomDbEngineVersionMapOutput) ElementType() reflect.Type {
   626  	return reflect.TypeOf((*map[string]*CustomDbEngineVersion)(nil)).Elem()
   627  }
   628  
   629  func (o CustomDbEngineVersionMapOutput) ToCustomDbEngineVersionMapOutput() CustomDbEngineVersionMapOutput {
   630  	return o
   631  }
   632  
   633  func (o CustomDbEngineVersionMapOutput) ToCustomDbEngineVersionMapOutputWithContext(ctx context.Context) CustomDbEngineVersionMapOutput {
   634  	return o
   635  }
   636  
   637  func (o CustomDbEngineVersionMapOutput) MapIndex(k pulumi.StringInput) CustomDbEngineVersionOutput {
   638  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *CustomDbEngineVersion {
   639  		return vs[0].(map[string]*CustomDbEngineVersion)[vs[1].(string)]
   640  	}).(CustomDbEngineVersionOutput)
   641  }
   642  
   643  func init() {
   644  	pulumi.RegisterInputType(reflect.TypeOf((*CustomDbEngineVersionInput)(nil)).Elem(), &CustomDbEngineVersion{})
   645  	pulumi.RegisterInputType(reflect.TypeOf((*CustomDbEngineVersionArrayInput)(nil)).Elem(), CustomDbEngineVersionArray{})
   646  	pulumi.RegisterInputType(reflect.TypeOf((*CustomDbEngineVersionMapInput)(nil)).Elem(), CustomDbEngineVersionMap{})
   647  	pulumi.RegisterOutputType(CustomDbEngineVersionOutput{})
   648  	pulumi.RegisterOutputType(CustomDbEngineVersionArrayOutput{})
   649  	pulumi.RegisterOutputType(CustomDbEngineVersionMapOutput{})
   650  }