github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/elasticache/getReplicationGroup.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 elasticache
     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  // Use this data source to get information about an ElastiCache Replication Group.
    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/elasticache"
    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 := elasticache.LookupReplicationGroup(ctx, &elasticache.LookupReplicationGroupArgs{
    32  //				ReplicationGroupId: "example",
    33  //			}, nil)
    34  //			if err != nil {
    35  //				return err
    36  //			}
    37  //			return nil
    38  //		})
    39  //	}
    40  //
    41  // ```
    42  // <!--End PulumiCodeChooser -->
    43  func LookupReplicationGroup(ctx *pulumi.Context, args *LookupReplicationGroupArgs, opts ...pulumi.InvokeOption) (*LookupReplicationGroupResult, error) {
    44  	opts = internal.PkgInvokeDefaultOpts(opts)
    45  	var rv LookupReplicationGroupResult
    46  	err := ctx.Invoke("aws:elasticache/getReplicationGroup:getReplicationGroup", 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 getReplicationGroup.
    54  type LookupReplicationGroupArgs struct {
    55  	// Identifier for the replication group.
    56  	ReplicationGroupId string `pulumi:"replicationGroupId"`
    57  }
    58  
    59  // A collection of values returned by getReplicationGroup.
    60  type LookupReplicationGroupResult struct {
    61  	// ARN of the created ElastiCache Replication Group.
    62  	Arn string `pulumi:"arn"`
    63  	// Whether an AuthToken (password) is enabled.
    64  	AuthTokenEnabled bool `pulumi:"authTokenEnabled"`
    65  	// A flag whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails.
    66  	AutomaticFailoverEnabled bool `pulumi:"automaticFailoverEnabled"`
    67  	// The configuration endpoint address to allow host discovery.
    68  	ConfigurationEndpointAddress string `pulumi:"configurationEndpointAddress"`
    69  	// Description of the replication group.
    70  	Description string `pulumi:"description"`
    71  	// The provider-assigned unique ID for this managed resource.
    72  	Id string `pulumi:"id"`
    73  	// Redis [SLOWLOG](https://redis.io/commands/slowlog) or Redis [Engine Log](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html#Log_contents-engine-log) delivery settings.
    74  	LogDeliveryConfigurations []GetReplicationGroupLogDeliveryConfiguration `pulumi:"logDeliveryConfigurations"`
    75  	// Identifiers of all the nodes that are part of this replication group.
    76  	MemberClusters []string `pulumi:"memberClusters"`
    77  	// Whether Multi-AZ Support is enabled for the replication group.
    78  	MultiAzEnabled bool `pulumi:"multiAzEnabled"`
    79  	// The cluster node type.
    80  	NodeType string `pulumi:"nodeType"`
    81  	// The number of cache clusters that the replication group has.
    82  	NumCacheClusters int `pulumi:"numCacheClusters"`
    83  	// Number of node groups (shards) for the replication group.
    84  	NumNodeGroups int `pulumi:"numNodeGroups"`
    85  	// The port number on which the configuration endpoint will accept connections.
    86  	Port int `pulumi:"port"`
    87  	// The endpoint of the primary node in this node group (shard).
    88  	PrimaryEndpointAddress string `pulumi:"primaryEndpointAddress"`
    89  	// The endpoint of the reader node in this node group (shard).
    90  	ReaderEndpointAddress string `pulumi:"readerEndpointAddress"`
    91  	// Number of replica nodes in each node group.
    92  	ReplicasPerNodeGroup int    `pulumi:"replicasPerNodeGroup"`
    93  	ReplicationGroupId   string `pulumi:"replicationGroupId"`
    94  	// The number of days for which ElastiCache retains automatic cache cluster snapshots before deleting them.
    95  	SnapshotRetentionLimit int `pulumi:"snapshotRetentionLimit"`
    96  	// Daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of your node group (shard).
    97  	SnapshotWindow string `pulumi:"snapshotWindow"`
    98  }
    99  
   100  func LookupReplicationGroupOutput(ctx *pulumi.Context, args LookupReplicationGroupOutputArgs, opts ...pulumi.InvokeOption) LookupReplicationGroupResultOutput {
   101  	return pulumi.ToOutputWithContext(context.Background(), args).
   102  		ApplyT(func(v interface{}) (LookupReplicationGroupResult, error) {
   103  			args := v.(LookupReplicationGroupArgs)
   104  			r, err := LookupReplicationGroup(ctx, &args, opts...)
   105  			var s LookupReplicationGroupResult
   106  			if r != nil {
   107  				s = *r
   108  			}
   109  			return s, err
   110  		}).(LookupReplicationGroupResultOutput)
   111  }
   112  
   113  // A collection of arguments for invoking getReplicationGroup.
   114  type LookupReplicationGroupOutputArgs struct {
   115  	// Identifier for the replication group.
   116  	ReplicationGroupId pulumi.StringInput `pulumi:"replicationGroupId"`
   117  }
   118  
   119  func (LookupReplicationGroupOutputArgs) ElementType() reflect.Type {
   120  	return reflect.TypeOf((*LookupReplicationGroupArgs)(nil)).Elem()
   121  }
   122  
   123  // A collection of values returned by getReplicationGroup.
   124  type LookupReplicationGroupResultOutput struct{ *pulumi.OutputState }
   125  
   126  func (LookupReplicationGroupResultOutput) ElementType() reflect.Type {
   127  	return reflect.TypeOf((*LookupReplicationGroupResult)(nil)).Elem()
   128  }
   129  
   130  func (o LookupReplicationGroupResultOutput) ToLookupReplicationGroupResultOutput() LookupReplicationGroupResultOutput {
   131  	return o
   132  }
   133  
   134  func (o LookupReplicationGroupResultOutput) ToLookupReplicationGroupResultOutputWithContext(ctx context.Context) LookupReplicationGroupResultOutput {
   135  	return o
   136  }
   137  
   138  // ARN of the created ElastiCache Replication Group.
   139  func (o LookupReplicationGroupResultOutput) Arn() pulumi.StringOutput {
   140  	return o.ApplyT(func(v LookupReplicationGroupResult) string { return v.Arn }).(pulumi.StringOutput)
   141  }
   142  
   143  // Whether an AuthToken (password) is enabled.
   144  func (o LookupReplicationGroupResultOutput) AuthTokenEnabled() pulumi.BoolOutput {
   145  	return o.ApplyT(func(v LookupReplicationGroupResult) bool { return v.AuthTokenEnabled }).(pulumi.BoolOutput)
   146  }
   147  
   148  // A flag whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails.
   149  func (o LookupReplicationGroupResultOutput) AutomaticFailoverEnabled() pulumi.BoolOutput {
   150  	return o.ApplyT(func(v LookupReplicationGroupResult) bool { return v.AutomaticFailoverEnabled }).(pulumi.BoolOutput)
   151  }
   152  
   153  // The configuration endpoint address to allow host discovery.
   154  func (o LookupReplicationGroupResultOutput) ConfigurationEndpointAddress() pulumi.StringOutput {
   155  	return o.ApplyT(func(v LookupReplicationGroupResult) string { return v.ConfigurationEndpointAddress }).(pulumi.StringOutput)
   156  }
   157  
   158  // Description of the replication group.
   159  func (o LookupReplicationGroupResultOutput) Description() pulumi.StringOutput {
   160  	return o.ApplyT(func(v LookupReplicationGroupResult) string { return v.Description }).(pulumi.StringOutput)
   161  }
   162  
   163  // The provider-assigned unique ID for this managed resource.
   164  func (o LookupReplicationGroupResultOutput) Id() pulumi.StringOutput {
   165  	return o.ApplyT(func(v LookupReplicationGroupResult) string { return v.Id }).(pulumi.StringOutput)
   166  }
   167  
   168  // Redis [SLOWLOG](https://redis.io/commands/slowlog) or Redis [Engine Log](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html#Log_contents-engine-log) delivery settings.
   169  func (o LookupReplicationGroupResultOutput) LogDeliveryConfigurations() GetReplicationGroupLogDeliveryConfigurationArrayOutput {
   170  	return o.ApplyT(func(v LookupReplicationGroupResult) []GetReplicationGroupLogDeliveryConfiguration {
   171  		return v.LogDeliveryConfigurations
   172  	}).(GetReplicationGroupLogDeliveryConfigurationArrayOutput)
   173  }
   174  
   175  // Identifiers of all the nodes that are part of this replication group.
   176  func (o LookupReplicationGroupResultOutput) MemberClusters() pulumi.StringArrayOutput {
   177  	return o.ApplyT(func(v LookupReplicationGroupResult) []string { return v.MemberClusters }).(pulumi.StringArrayOutput)
   178  }
   179  
   180  // Whether Multi-AZ Support is enabled for the replication group.
   181  func (o LookupReplicationGroupResultOutput) MultiAzEnabled() pulumi.BoolOutput {
   182  	return o.ApplyT(func(v LookupReplicationGroupResult) bool { return v.MultiAzEnabled }).(pulumi.BoolOutput)
   183  }
   184  
   185  // The cluster node type.
   186  func (o LookupReplicationGroupResultOutput) NodeType() pulumi.StringOutput {
   187  	return o.ApplyT(func(v LookupReplicationGroupResult) string { return v.NodeType }).(pulumi.StringOutput)
   188  }
   189  
   190  // The number of cache clusters that the replication group has.
   191  func (o LookupReplicationGroupResultOutput) NumCacheClusters() pulumi.IntOutput {
   192  	return o.ApplyT(func(v LookupReplicationGroupResult) int { return v.NumCacheClusters }).(pulumi.IntOutput)
   193  }
   194  
   195  // Number of node groups (shards) for the replication group.
   196  func (o LookupReplicationGroupResultOutput) NumNodeGroups() pulumi.IntOutput {
   197  	return o.ApplyT(func(v LookupReplicationGroupResult) int { return v.NumNodeGroups }).(pulumi.IntOutput)
   198  }
   199  
   200  // The port number on which the configuration endpoint will accept connections.
   201  func (o LookupReplicationGroupResultOutput) Port() pulumi.IntOutput {
   202  	return o.ApplyT(func(v LookupReplicationGroupResult) int { return v.Port }).(pulumi.IntOutput)
   203  }
   204  
   205  // The endpoint of the primary node in this node group (shard).
   206  func (o LookupReplicationGroupResultOutput) PrimaryEndpointAddress() pulumi.StringOutput {
   207  	return o.ApplyT(func(v LookupReplicationGroupResult) string { return v.PrimaryEndpointAddress }).(pulumi.StringOutput)
   208  }
   209  
   210  // The endpoint of the reader node in this node group (shard).
   211  func (o LookupReplicationGroupResultOutput) ReaderEndpointAddress() pulumi.StringOutput {
   212  	return o.ApplyT(func(v LookupReplicationGroupResult) string { return v.ReaderEndpointAddress }).(pulumi.StringOutput)
   213  }
   214  
   215  // Number of replica nodes in each node group.
   216  func (o LookupReplicationGroupResultOutput) ReplicasPerNodeGroup() pulumi.IntOutput {
   217  	return o.ApplyT(func(v LookupReplicationGroupResult) int { return v.ReplicasPerNodeGroup }).(pulumi.IntOutput)
   218  }
   219  
   220  func (o LookupReplicationGroupResultOutput) ReplicationGroupId() pulumi.StringOutput {
   221  	return o.ApplyT(func(v LookupReplicationGroupResult) string { return v.ReplicationGroupId }).(pulumi.StringOutput)
   222  }
   223  
   224  // The number of days for which ElastiCache retains automatic cache cluster snapshots before deleting them.
   225  func (o LookupReplicationGroupResultOutput) SnapshotRetentionLimit() pulumi.IntOutput {
   226  	return o.ApplyT(func(v LookupReplicationGroupResult) int { return v.SnapshotRetentionLimit }).(pulumi.IntOutput)
   227  }
   228  
   229  // Daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of your node group (shard).
   230  func (o LookupReplicationGroupResultOutput) SnapshotWindow() pulumi.StringOutput {
   231  	return o.ApplyT(func(v LookupReplicationGroupResult) string { return v.SnapshotWindow }).(pulumi.StringOutput)
   232  }
   233  
   234  func init() {
   235  	pulumi.RegisterOutputType(LookupReplicationGroupResultOutput{})
   236  }