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 }