github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/opensearch/getServerlessAccessPolicy.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 Access 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.LookupServerlessAccessPolicy(ctx, &opensearch.LookupServerlessAccessPolicyArgs{
    34  //				Name: exampleAwsOpensearchserverlessAccessPolicy.Name,
    35  //				Type: exampleAwsOpensearchserverlessAccessPolicy.Type,
    36  //			}, nil)
    37  //			if err != nil {
    38  //				return err
    39  //			}
    40  //			return nil
    41  //		})
    42  //	}
    43  //
    44  // ```
    45  // <!--End PulumiCodeChooser -->
    46  func LookupServerlessAccessPolicy(ctx *pulumi.Context, args *LookupServerlessAccessPolicyArgs, opts ...pulumi.InvokeOption) (*LookupServerlessAccessPolicyResult, error) {
    47  	opts = internal.PkgInvokeDefaultOpts(opts)
    48  	var rv LookupServerlessAccessPolicyResult
    49  	err := ctx.Invoke("aws:opensearch/getServerlessAccessPolicy:getServerlessAccessPolicy", 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 getServerlessAccessPolicy.
    57  type LookupServerlessAccessPolicyArgs struct {
    58  	// Name of the policy.
    59  	Name string `pulumi:"name"`
    60  	// Type of access policy. Must be `data`.
    61  	Type string `pulumi:"type"`
    62  }
    63  
    64  // A collection of values returned by getServerlessAccessPolicy.
    65  type LookupServerlessAccessPolicyResult struct {
    66  	// Description of the policy. Typically used to store information about the permissions defined in the policy.
    67  	Description string `pulumi:"description"`
    68  	Id          string `pulumi:"id"`
    69  	Name        string `pulumi:"name"`
    70  	// JSON policy document to use as the content for the new policy.
    71  	Policy string `pulumi:"policy"`
    72  	// Version of the policy.
    73  	PolicyVersion string `pulumi:"policyVersion"`
    74  	Type          string `pulumi:"type"`
    75  }
    76  
    77  func LookupServerlessAccessPolicyOutput(ctx *pulumi.Context, args LookupServerlessAccessPolicyOutputArgs, opts ...pulumi.InvokeOption) LookupServerlessAccessPolicyResultOutput {
    78  	return pulumi.ToOutputWithContext(context.Background(), args).
    79  		ApplyT(func(v interface{}) (LookupServerlessAccessPolicyResult, error) {
    80  			args := v.(LookupServerlessAccessPolicyArgs)
    81  			r, err := LookupServerlessAccessPolicy(ctx, &args, opts...)
    82  			var s LookupServerlessAccessPolicyResult
    83  			if r != nil {
    84  				s = *r
    85  			}
    86  			return s, err
    87  		}).(LookupServerlessAccessPolicyResultOutput)
    88  }
    89  
    90  // A collection of arguments for invoking getServerlessAccessPolicy.
    91  type LookupServerlessAccessPolicyOutputArgs struct {
    92  	// Name of the policy.
    93  	Name pulumi.StringInput `pulumi:"name"`
    94  	// Type of access policy. Must be `data`.
    95  	Type pulumi.StringInput `pulumi:"type"`
    96  }
    97  
    98  func (LookupServerlessAccessPolicyOutputArgs) ElementType() reflect.Type {
    99  	return reflect.TypeOf((*LookupServerlessAccessPolicyArgs)(nil)).Elem()
   100  }
   101  
   102  // A collection of values returned by getServerlessAccessPolicy.
   103  type LookupServerlessAccessPolicyResultOutput struct{ *pulumi.OutputState }
   104  
   105  func (LookupServerlessAccessPolicyResultOutput) ElementType() reflect.Type {
   106  	return reflect.TypeOf((*LookupServerlessAccessPolicyResult)(nil)).Elem()
   107  }
   108  
   109  func (o LookupServerlessAccessPolicyResultOutput) ToLookupServerlessAccessPolicyResultOutput() LookupServerlessAccessPolicyResultOutput {
   110  	return o
   111  }
   112  
   113  func (o LookupServerlessAccessPolicyResultOutput) ToLookupServerlessAccessPolicyResultOutputWithContext(ctx context.Context) LookupServerlessAccessPolicyResultOutput {
   114  	return o
   115  }
   116  
   117  // Description of the policy. Typically used to store information about the permissions defined in the policy.
   118  func (o LookupServerlessAccessPolicyResultOutput) Description() pulumi.StringOutput {
   119  	return o.ApplyT(func(v LookupServerlessAccessPolicyResult) string { return v.Description }).(pulumi.StringOutput)
   120  }
   121  
   122  func (o LookupServerlessAccessPolicyResultOutput) Id() pulumi.StringOutput {
   123  	return o.ApplyT(func(v LookupServerlessAccessPolicyResult) string { return v.Id }).(pulumi.StringOutput)
   124  }
   125  
   126  func (o LookupServerlessAccessPolicyResultOutput) Name() pulumi.StringOutput {
   127  	return o.ApplyT(func(v LookupServerlessAccessPolicyResult) string { return v.Name }).(pulumi.StringOutput)
   128  }
   129  
   130  // JSON policy document to use as the content for the new policy.
   131  func (o LookupServerlessAccessPolicyResultOutput) Policy() pulumi.StringOutput {
   132  	return o.ApplyT(func(v LookupServerlessAccessPolicyResult) string { return v.Policy }).(pulumi.StringOutput)
   133  }
   134  
   135  // Version of the policy.
   136  func (o LookupServerlessAccessPolicyResultOutput) PolicyVersion() pulumi.StringOutput {
   137  	return o.ApplyT(func(v LookupServerlessAccessPolicyResult) string { return v.PolicyVersion }).(pulumi.StringOutput)
   138  }
   139  
   140  func (o LookupServerlessAccessPolicyResultOutput) Type() pulumi.StringOutput {
   141  	return o.ApplyT(func(v LookupServerlessAccessPolicyResult) string { return v.Type }).(pulumi.StringOutput)
   142  }
   143  
   144  func init() {
   145  	pulumi.RegisterOutputType(LookupServerlessAccessPolicyResultOutput{})
   146  }