github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/dms/getReplicationInstance.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 dms
     5  
     6  import (
     7  	"context"
     8  	"reflect"
     9  
    10  	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal"
    11  	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    12  )
    13  
    14  // Data source for managing an AWS DMS (Database Migration) Replication Instance.
    15  //
    16  // ## Example Usage
    17  //
    18  // <!--Start PulumiCodeChooser -->
    19  // ```go
    20  // package main
    21  //
    22  // import (
    23  //
    24  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/dms"
    25  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    26  //
    27  // )
    28  //
    29  //	func main() {
    30  //		pulumi.Run(func(ctx *pulumi.Context) error {
    31  //			_, err := dms.LookupReplicationInstance(ctx, &dms.LookupReplicationInstanceArgs{
    32  //				ReplicationInstanceId: testAwsDmsReplicationInstance.ReplicationInstanceId,
    33  //			}, nil)
    34  //			if err != nil {
    35  //				return err
    36  //			}
    37  //			return nil
    38  //		})
    39  //	}
    40  //
    41  // ```
    42  // <!--End PulumiCodeChooser -->
    43  func LookupReplicationInstance(ctx *pulumi.Context, args *LookupReplicationInstanceArgs, opts ...pulumi.InvokeOption) (*LookupReplicationInstanceResult, error) {
    44  	opts = internal.PkgInvokeDefaultOpts(opts)
    45  	var rv LookupReplicationInstanceResult
    46  	err := ctx.Invoke("aws:dms/getReplicationInstance:getReplicationInstance", args, &rv, opts...)
    47  	if err != nil {
    48  		return nil, err
    49  	}
    50  	return &rv, nil
    51  }
    52  
    53  // A collection of arguments for invoking getReplicationInstance.
    54  type LookupReplicationInstanceArgs struct {
    55  	// The replication instance identifier.
    56  	ReplicationInstanceId string            `pulumi:"replicationInstanceId"`
    57  	Tags                  map[string]string `pulumi:"tags"`
    58  }
    59  
    60  // A collection of values returned by getReplicationInstance.
    61  type LookupReplicationInstanceResult struct {
    62  	// The amount of storage (in gigabytes) to be initially allocated for the replication instance.
    63  	AllocatedStorage int `pulumi:"allocatedStorage"`
    64  	// Indicates that minor engine upgrades will be applied automatically to the replication instance during the maintenance window.
    65  	AutoMinorVersionUpgrade bool `pulumi:"autoMinorVersionUpgrade"`
    66  	// The EC2 Availability Zone that the replication instance will be created in.
    67  	AvailabilityZone string `pulumi:"availabilityZone"`
    68  	// The engine version number of the replication instance.
    69  	EngineVersion string `pulumi:"engineVersion"`
    70  	// The provider-assigned unique ID for this managed resource.
    71  	Id string `pulumi:"id"`
    72  	// The Amazon Resource Name (ARN) for the KMS key used to encrypt the connection parameters.
    73  	KmsKeyArn string `pulumi:"kmsKeyArn"`
    74  	// Specifies if the replication instance is a multi-az deployment.
    75  	MultiAz bool `pulumi:"multiAz"`
    76  	// The type of IP address protocol used by the replication instance.
    77  	NetworkType string `pulumi:"networkType"`
    78  	// The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).
    79  	PreferredMaintenanceWindow string `pulumi:"preferredMaintenanceWindow"`
    80  	// Specifies the accessibility options for the replication instance. A value of true represents an instance with a public IP address. A value of false represents an instance with a private IP address.
    81  	PubliclyAccessible bool `pulumi:"publiclyAccessible"`
    82  	// The Amazon Resource Name (ARN) of the replication instance.
    83  	ReplicationInstanceArn string `pulumi:"replicationInstanceArn"`
    84  	// The compute and memory capacity of the replication instance as specified by the replication instance class. See [AWS DMS User Guide](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.Types.html) for information on instance classes.
    85  	ReplicationInstanceClass string `pulumi:"replicationInstanceClass"`
    86  	ReplicationInstanceId    string `pulumi:"replicationInstanceId"`
    87  	// A list of the private IP addresses of the replication instance.
    88  	ReplicationInstancePrivateIps []string `pulumi:"replicationInstancePrivateIps"`
    89  	// A list of the public IP addresses of the replication instance.
    90  	ReplicationInstancePublicIps []string `pulumi:"replicationInstancePublicIps"`
    91  	// A subnet group to associate with the replication instance.
    92  	ReplicationSubnetGroupId string            `pulumi:"replicationSubnetGroupId"`
    93  	Tags                     map[string]string `pulumi:"tags"`
    94  	// A set of VPC security group IDs that are used with the replication instance.
    95  	VpcSecurityGroupIds []string `pulumi:"vpcSecurityGroupIds"`
    96  }
    97  
    98  func LookupReplicationInstanceOutput(ctx *pulumi.Context, args LookupReplicationInstanceOutputArgs, opts ...pulumi.InvokeOption) LookupReplicationInstanceResultOutput {
    99  	return pulumi.ToOutputWithContext(context.Background(), args).
   100  		ApplyT(func(v interface{}) (LookupReplicationInstanceResult, error) {
   101  			args := v.(LookupReplicationInstanceArgs)
   102  			r, err := LookupReplicationInstance(ctx, &args, opts...)
   103  			var s LookupReplicationInstanceResult
   104  			if r != nil {
   105  				s = *r
   106  			}
   107  			return s, err
   108  		}).(LookupReplicationInstanceResultOutput)
   109  }
   110  
   111  // A collection of arguments for invoking getReplicationInstance.
   112  type LookupReplicationInstanceOutputArgs struct {
   113  	// The replication instance identifier.
   114  	ReplicationInstanceId pulumi.StringInput    `pulumi:"replicationInstanceId"`
   115  	Tags                  pulumi.StringMapInput `pulumi:"tags"`
   116  }
   117  
   118  func (LookupReplicationInstanceOutputArgs) ElementType() reflect.Type {
   119  	return reflect.TypeOf((*LookupReplicationInstanceArgs)(nil)).Elem()
   120  }
   121  
   122  // A collection of values returned by getReplicationInstance.
   123  type LookupReplicationInstanceResultOutput struct{ *pulumi.OutputState }
   124  
   125  func (LookupReplicationInstanceResultOutput) ElementType() reflect.Type {
   126  	return reflect.TypeOf((*LookupReplicationInstanceResult)(nil)).Elem()
   127  }
   128  
   129  func (o LookupReplicationInstanceResultOutput) ToLookupReplicationInstanceResultOutput() LookupReplicationInstanceResultOutput {
   130  	return o
   131  }
   132  
   133  func (o LookupReplicationInstanceResultOutput) ToLookupReplicationInstanceResultOutputWithContext(ctx context.Context) LookupReplicationInstanceResultOutput {
   134  	return o
   135  }
   136  
   137  // The amount of storage (in gigabytes) to be initially allocated for the replication instance.
   138  func (o LookupReplicationInstanceResultOutput) AllocatedStorage() pulumi.IntOutput {
   139  	return o.ApplyT(func(v LookupReplicationInstanceResult) int { return v.AllocatedStorage }).(pulumi.IntOutput)
   140  }
   141  
   142  // Indicates that minor engine upgrades will be applied automatically to the replication instance during the maintenance window.
   143  func (o LookupReplicationInstanceResultOutput) AutoMinorVersionUpgrade() pulumi.BoolOutput {
   144  	return o.ApplyT(func(v LookupReplicationInstanceResult) bool { return v.AutoMinorVersionUpgrade }).(pulumi.BoolOutput)
   145  }
   146  
   147  // The EC2 Availability Zone that the replication instance will be created in.
   148  func (o LookupReplicationInstanceResultOutput) AvailabilityZone() pulumi.StringOutput {
   149  	return o.ApplyT(func(v LookupReplicationInstanceResult) string { return v.AvailabilityZone }).(pulumi.StringOutput)
   150  }
   151  
   152  // The engine version number of the replication instance.
   153  func (o LookupReplicationInstanceResultOutput) EngineVersion() pulumi.StringOutput {
   154  	return o.ApplyT(func(v LookupReplicationInstanceResult) string { return v.EngineVersion }).(pulumi.StringOutput)
   155  }
   156  
   157  // The provider-assigned unique ID for this managed resource.
   158  func (o LookupReplicationInstanceResultOutput) Id() pulumi.StringOutput {
   159  	return o.ApplyT(func(v LookupReplicationInstanceResult) string { return v.Id }).(pulumi.StringOutput)
   160  }
   161  
   162  // The Amazon Resource Name (ARN) for the KMS key used to encrypt the connection parameters.
   163  func (o LookupReplicationInstanceResultOutput) KmsKeyArn() pulumi.StringOutput {
   164  	return o.ApplyT(func(v LookupReplicationInstanceResult) string { return v.KmsKeyArn }).(pulumi.StringOutput)
   165  }
   166  
   167  // Specifies if the replication instance is a multi-az deployment.
   168  func (o LookupReplicationInstanceResultOutput) MultiAz() pulumi.BoolOutput {
   169  	return o.ApplyT(func(v LookupReplicationInstanceResult) bool { return v.MultiAz }).(pulumi.BoolOutput)
   170  }
   171  
   172  // The type of IP address protocol used by the replication instance.
   173  func (o LookupReplicationInstanceResultOutput) NetworkType() pulumi.StringOutput {
   174  	return o.ApplyT(func(v LookupReplicationInstanceResult) string { return v.NetworkType }).(pulumi.StringOutput)
   175  }
   176  
   177  // The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).
   178  func (o LookupReplicationInstanceResultOutput) PreferredMaintenanceWindow() pulumi.StringOutput {
   179  	return o.ApplyT(func(v LookupReplicationInstanceResult) string { return v.PreferredMaintenanceWindow }).(pulumi.StringOutput)
   180  }
   181  
   182  // Specifies the accessibility options for the replication instance. A value of true represents an instance with a public IP address. A value of false represents an instance with a private IP address.
   183  func (o LookupReplicationInstanceResultOutput) PubliclyAccessible() pulumi.BoolOutput {
   184  	return o.ApplyT(func(v LookupReplicationInstanceResult) bool { return v.PubliclyAccessible }).(pulumi.BoolOutput)
   185  }
   186  
   187  // The Amazon Resource Name (ARN) of the replication instance.
   188  func (o LookupReplicationInstanceResultOutput) ReplicationInstanceArn() pulumi.StringOutput {
   189  	return o.ApplyT(func(v LookupReplicationInstanceResult) string { return v.ReplicationInstanceArn }).(pulumi.StringOutput)
   190  }
   191  
   192  // The compute and memory capacity of the replication instance as specified by the replication instance class. See [AWS DMS User Guide](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.Types.html) for information on instance classes.
   193  func (o LookupReplicationInstanceResultOutput) ReplicationInstanceClass() pulumi.StringOutput {
   194  	return o.ApplyT(func(v LookupReplicationInstanceResult) string { return v.ReplicationInstanceClass }).(pulumi.StringOutput)
   195  }
   196  
   197  func (o LookupReplicationInstanceResultOutput) ReplicationInstanceId() pulumi.StringOutput {
   198  	return o.ApplyT(func(v LookupReplicationInstanceResult) string { return v.ReplicationInstanceId }).(pulumi.StringOutput)
   199  }
   200  
   201  // A list of the private IP addresses of the replication instance.
   202  func (o LookupReplicationInstanceResultOutput) ReplicationInstancePrivateIps() pulumi.StringArrayOutput {
   203  	return o.ApplyT(func(v LookupReplicationInstanceResult) []string { return v.ReplicationInstancePrivateIps }).(pulumi.StringArrayOutput)
   204  }
   205  
   206  // A list of the public IP addresses of the replication instance.
   207  func (o LookupReplicationInstanceResultOutput) ReplicationInstancePublicIps() pulumi.StringArrayOutput {
   208  	return o.ApplyT(func(v LookupReplicationInstanceResult) []string { return v.ReplicationInstancePublicIps }).(pulumi.StringArrayOutput)
   209  }
   210  
   211  // A subnet group to associate with the replication instance.
   212  func (o LookupReplicationInstanceResultOutput) ReplicationSubnetGroupId() pulumi.StringOutput {
   213  	return o.ApplyT(func(v LookupReplicationInstanceResult) string { return v.ReplicationSubnetGroupId }).(pulumi.StringOutput)
   214  }
   215  
   216  func (o LookupReplicationInstanceResultOutput) Tags() pulumi.StringMapOutput {
   217  	return o.ApplyT(func(v LookupReplicationInstanceResult) map[string]string { return v.Tags }).(pulumi.StringMapOutput)
   218  }
   219  
   220  // A set of VPC security group IDs that are used with the replication instance.
   221  func (o LookupReplicationInstanceResultOutput) VpcSecurityGroupIds() pulumi.StringArrayOutput {
   222  	return o.ApplyT(func(v LookupReplicationInstanceResult) []string { return v.VpcSecurityGroupIds }).(pulumi.StringArrayOutput)
   223  }
   224  
   225  func init() {
   226  	pulumi.RegisterOutputType(LookupReplicationInstanceResultOutput{})
   227  }