github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/opensearch/getServerlessLifecyclePolicy.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 opensearch
     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 OpenSearch Serverless Lifecycle Policy.
    15  //
    16  // ## Example Usage
    17  //
    18  // ### Basic Usage
    19  //
    20  // <!--Start PulumiCodeChooser -->
    21  // ```go
    22  // package main
    23  //
    24  // import (
    25  //
    26  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch"
    27  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    28  //
    29  // )
    30  //
    31  //	func main() {
    32  //		pulumi.Run(func(ctx *pulumi.Context) error {
    33  //			_, err := opensearch.LookupServerlessLifecyclePolicy(ctx, &opensearch.LookupServerlessLifecyclePolicyArgs{
    34  //				Name: "example-lifecycle-policy",
    35  //				Type: "retention",
    36  //			}, nil)
    37  //			if err != nil {
    38  //				return err
    39  //			}
    40  //			return nil
    41  //		})
    42  //	}
    43  //
    44  // ```
    45  // <!--End PulumiCodeChooser -->
    46  func LookupServerlessLifecyclePolicy(ctx *pulumi.Context, args *LookupServerlessLifecyclePolicyArgs, opts ...pulumi.InvokeOption) (*LookupServerlessLifecyclePolicyResult, error) {
    47  	opts = internal.PkgInvokeDefaultOpts(opts)
    48  	var rv LookupServerlessLifecyclePolicyResult
    49  	err := ctx.Invoke("aws:opensearch/getServerlessLifecyclePolicy:getServerlessLifecyclePolicy", args, &rv, opts...)
    50  	if err != nil {
    51  		return nil, err
    52  	}
    53  	return &rv, nil
    54  }
    55  
    56  // A collection of arguments for invoking getServerlessLifecyclePolicy.
    57  type LookupServerlessLifecyclePolicyArgs struct {
    58  	// Name of the policy
    59  	Name string `pulumi:"name"`
    60  	// Type of lifecycle policy. Must be `retention`.
    61  	Type string `pulumi:"type"`
    62  }
    63  
    64  // A collection of values returned by getServerlessLifecyclePolicy.
    65  type LookupServerlessLifecyclePolicyResult struct {
    66  	// The date the lifecycle policy was created.
    67  	CreatedDate string `pulumi:"createdDate"`
    68  	// Description of the policy. Typically used to store information about the permissions defined in the policy.
    69  	Description string `pulumi:"description"`
    70  	Id          string `pulumi:"id"`
    71  	// The date the lifecycle policy was last modified.
    72  	LastModifiedDate string `pulumi:"lastModifiedDate"`
    73  	Name             string `pulumi:"name"`
    74  	// JSON policy document to use as the content for the new policy.
    75  	Policy string `pulumi:"policy"`
    76  	// Version of the policy.
    77  	PolicyVersion string `pulumi:"policyVersion"`
    78  	Type          string `pulumi:"type"`
    79  }
    80  
    81  func LookupServerlessLifecyclePolicyOutput(ctx *pulumi.Context, args LookupServerlessLifecyclePolicyOutputArgs, opts ...pulumi.InvokeOption) LookupServerlessLifecyclePolicyResultOutput {
    82  	return pulumi.ToOutputWithContext(context.Background(), args).
    83  		ApplyT(func(v interface{}) (LookupServerlessLifecyclePolicyResult, error) {
    84  			args := v.(LookupServerlessLifecyclePolicyArgs)
    85  			r, err := LookupServerlessLifecyclePolicy(ctx, &args, opts...)
    86  			var s LookupServerlessLifecyclePolicyResult
    87  			if r != nil {
    88  				s = *r
    89  			}
    90  			return s, err
    91  		}).(LookupServerlessLifecyclePolicyResultOutput)
    92  }
    93  
    94  // A collection of arguments for invoking getServerlessLifecyclePolicy.
    95  type LookupServerlessLifecyclePolicyOutputArgs struct {
    96  	// Name of the policy
    97  	Name pulumi.StringInput `pulumi:"name"`
    98  	// Type of lifecycle policy. Must be `retention`.
    99  	Type pulumi.StringInput `pulumi:"type"`
   100  }
   101  
   102  func (LookupServerlessLifecyclePolicyOutputArgs) ElementType() reflect.Type {
   103  	return reflect.TypeOf((*LookupServerlessLifecyclePolicyArgs)(nil)).Elem()
   104  }
   105  
   106  // A collection of values returned by getServerlessLifecyclePolicy.
   107  type LookupServerlessLifecyclePolicyResultOutput struct{ *pulumi.OutputState }
   108  
   109  func (LookupServerlessLifecyclePolicyResultOutput) ElementType() reflect.Type {
   110  	return reflect.TypeOf((*LookupServerlessLifecyclePolicyResult)(nil)).Elem()
   111  }
   112  
   113  func (o LookupServerlessLifecyclePolicyResultOutput) ToLookupServerlessLifecyclePolicyResultOutput() LookupServerlessLifecyclePolicyResultOutput {
   114  	return o
   115  }
   116  
   117  func (o LookupServerlessLifecyclePolicyResultOutput) ToLookupServerlessLifecyclePolicyResultOutputWithContext(ctx context.Context) LookupServerlessLifecyclePolicyResultOutput {
   118  	return o
   119  }
   120  
   121  // The date the lifecycle policy was created.
   122  func (o LookupServerlessLifecyclePolicyResultOutput) CreatedDate() pulumi.StringOutput {
   123  	return o.ApplyT(func(v LookupServerlessLifecyclePolicyResult) string { return v.CreatedDate }).(pulumi.StringOutput)
   124  }
   125  
   126  // Description of the policy. Typically used to store information about the permissions defined in the policy.
   127  func (o LookupServerlessLifecyclePolicyResultOutput) Description() pulumi.StringOutput {
   128  	return o.ApplyT(func(v LookupServerlessLifecyclePolicyResult) string { return v.Description }).(pulumi.StringOutput)
   129  }
   130  
   131  func (o LookupServerlessLifecyclePolicyResultOutput) Id() pulumi.StringOutput {
   132  	return o.ApplyT(func(v LookupServerlessLifecyclePolicyResult) string { return v.Id }).(pulumi.StringOutput)
   133  }
   134  
   135  // The date the lifecycle policy was last modified.
   136  func (o LookupServerlessLifecyclePolicyResultOutput) LastModifiedDate() pulumi.StringOutput {
   137  	return o.ApplyT(func(v LookupServerlessLifecyclePolicyResult) string { return v.LastModifiedDate }).(pulumi.StringOutput)
   138  }
   139  
   140  func (o LookupServerlessLifecyclePolicyResultOutput) Name() pulumi.StringOutput {
   141  	return o.ApplyT(func(v LookupServerlessLifecyclePolicyResult) string { return v.Name }).(pulumi.StringOutput)
   142  }
   143  
   144  // JSON policy document to use as the content for the new policy.
   145  func (o LookupServerlessLifecyclePolicyResultOutput) Policy() pulumi.StringOutput {
   146  	return o.ApplyT(func(v LookupServerlessLifecyclePolicyResult) string { return v.Policy }).(pulumi.StringOutput)
   147  }
   148  
   149  // Version of the policy.
   150  func (o LookupServerlessLifecyclePolicyResultOutput) PolicyVersion() pulumi.StringOutput {
   151  	return o.ApplyT(func(v LookupServerlessLifecyclePolicyResult) string { return v.PolicyVersion }).(pulumi.StringOutput)
   152  }
   153  
   154  func (o LookupServerlessLifecyclePolicyResultOutput) Type() pulumi.StringOutput {
   155  	return o.ApplyT(func(v LookupServerlessLifecyclePolicyResult) string { return v.Type }).(pulumi.StringOutput)
   156  }
   157  
   158  func init() {
   159  	pulumi.RegisterOutputType(LookupServerlessLifecyclePolicyResultOutput{})
   160  }