github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/lakeformation/getDataLakeSettings.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 lakeformation
     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  // Get Lake Formation principals designated as data lake administrators and lists of principal permission entries for default create database and default create table permissions.
    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/lakeformation"
    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 := lakeformation.LookupDataLakeSettings(ctx, &lakeformation.LookupDataLakeSettingsArgs{
    32  //				CatalogId: pulumi.StringRef("14916253649"),
    33  //			}, nil)
    34  //			if err != nil {
    35  //				return err
    36  //			}
    37  //			return nil
    38  //		})
    39  //	}
    40  //
    41  // ```
    42  // <!--End PulumiCodeChooser -->
    43  func LookupDataLakeSettings(ctx *pulumi.Context, args *LookupDataLakeSettingsArgs, opts ...pulumi.InvokeOption) (*LookupDataLakeSettingsResult, error) {
    44  	opts = internal.PkgInvokeDefaultOpts(opts)
    45  	var rv LookupDataLakeSettingsResult
    46  	err := ctx.Invoke("aws:lakeformation/getDataLakeSettings:getDataLakeSettings", 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 getDataLakeSettings.
    54  type LookupDataLakeSettingsArgs struct {
    55  	// Identifier for the Data Catalog. By default, the account ID.
    56  	CatalogId *string `pulumi:"catalogId"`
    57  }
    58  
    59  // A collection of values returned by getDataLakeSettings.
    60  type LookupDataLakeSettingsResult struct {
    61  	// List of ARNs of AWS Lake Formation principals (IAM users or roles).
    62  	Admins []string `pulumi:"admins"`
    63  	// Whether to allow Amazon EMR clusters to access data managed by Lake Formation.
    64  	AllowExternalDataFiltering bool `pulumi:"allowExternalDataFiltering"`
    65  	// Lake Formation relies on a privileged process secured by Amazon EMR or the third party integrator to tag the user's role while assuming it.
    66  	AuthorizedSessionTagValueLists []string `pulumi:"authorizedSessionTagValueLists"`
    67  	CatalogId                      *string  `pulumi:"catalogId"`
    68  	// Up to three configuration blocks of principal permissions for default create database permissions. Detailed below.
    69  	CreateDatabaseDefaultPermissions []GetDataLakeSettingsCreateDatabaseDefaultPermission `pulumi:"createDatabaseDefaultPermissions"`
    70  	// Up to three configuration blocks of principal permissions for default create table permissions. Detailed below.
    71  	CreateTableDefaultPermissions []GetDataLakeSettingsCreateTableDefaultPermission `pulumi:"createTableDefaultPermissions"`
    72  	// A list of the account IDs of Amazon Web Services accounts with Amazon EMR clusters that are to perform data filtering.
    73  	ExternalDataFilteringAllowLists []string `pulumi:"externalDataFilteringAllowLists"`
    74  	// The provider-assigned unique ID for this managed resource.
    75  	Id string `pulumi:"id"`
    76  	// List of ARNs of AWS Lake Formation principals (IAM users or roles) with only view access to the resources.
    77  	ReadOnlyAdmins []string `pulumi:"readOnlyAdmins"`
    78  	// List of the resource-owning account IDs that the caller's account can use to share their user access details (user ARNs).
    79  	TrustedResourceOwners []string `pulumi:"trustedResourceOwners"`
    80  }
    81  
    82  func LookupDataLakeSettingsOutput(ctx *pulumi.Context, args LookupDataLakeSettingsOutputArgs, opts ...pulumi.InvokeOption) LookupDataLakeSettingsResultOutput {
    83  	return pulumi.ToOutputWithContext(context.Background(), args).
    84  		ApplyT(func(v interface{}) (LookupDataLakeSettingsResult, error) {
    85  			args := v.(LookupDataLakeSettingsArgs)
    86  			r, err := LookupDataLakeSettings(ctx, &args, opts...)
    87  			var s LookupDataLakeSettingsResult
    88  			if r != nil {
    89  				s = *r
    90  			}
    91  			return s, err
    92  		}).(LookupDataLakeSettingsResultOutput)
    93  }
    94  
    95  // A collection of arguments for invoking getDataLakeSettings.
    96  type LookupDataLakeSettingsOutputArgs struct {
    97  	// Identifier for the Data Catalog. By default, the account ID.
    98  	CatalogId pulumi.StringPtrInput `pulumi:"catalogId"`
    99  }
   100  
   101  func (LookupDataLakeSettingsOutputArgs) ElementType() reflect.Type {
   102  	return reflect.TypeOf((*LookupDataLakeSettingsArgs)(nil)).Elem()
   103  }
   104  
   105  // A collection of values returned by getDataLakeSettings.
   106  type LookupDataLakeSettingsResultOutput struct{ *pulumi.OutputState }
   107  
   108  func (LookupDataLakeSettingsResultOutput) ElementType() reflect.Type {
   109  	return reflect.TypeOf((*LookupDataLakeSettingsResult)(nil)).Elem()
   110  }
   111  
   112  func (o LookupDataLakeSettingsResultOutput) ToLookupDataLakeSettingsResultOutput() LookupDataLakeSettingsResultOutput {
   113  	return o
   114  }
   115  
   116  func (o LookupDataLakeSettingsResultOutput) ToLookupDataLakeSettingsResultOutputWithContext(ctx context.Context) LookupDataLakeSettingsResultOutput {
   117  	return o
   118  }
   119  
   120  // List of ARNs of AWS Lake Formation principals (IAM users or roles).
   121  func (o LookupDataLakeSettingsResultOutput) Admins() pulumi.StringArrayOutput {
   122  	return o.ApplyT(func(v LookupDataLakeSettingsResult) []string { return v.Admins }).(pulumi.StringArrayOutput)
   123  }
   124  
   125  // Whether to allow Amazon EMR clusters to access data managed by Lake Formation.
   126  func (o LookupDataLakeSettingsResultOutput) AllowExternalDataFiltering() pulumi.BoolOutput {
   127  	return o.ApplyT(func(v LookupDataLakeSettingsResult) bool { return v.AllowExternalDataFiltering }).(pulumi.BoolOutput)
   128  }
   129  
   130  // Lake Formation relies on a privileged process secured by Amazon EMR or the third party integrator to tag the user's role while assuming it.
   131  func (o LookupDataLakeSettingsResultOutput) AuthorizedSessionTagValueLists() pulumi.StringArrayOutput {
   132  	return o.ApplyT(func(v LookupDataLakeSettingsResult) []string { return v.AuthorizedSessionTagValueLists }).(pulumi.StringArrayOutput)
   133  }
   134  
   135  func (o LookupDataLakeSettingsResultOutput) CatalogId() pulumi.StringPtrOutput {
   136  	return o.ApplyT(func(v LookupDataLakeSettingsResult) *string { return v.CatalogId }).(pulumi.StringPtrOutput)
   137  }
   138  
   139  // Up to three configuration blocks of principal permissions for default create database permissions. Detailed below.
   140  func (o LookupDataLakeSettingsResultOutput) CreateDatabaseDefaultPermissions() GetDataLakeSettingsCreateDatabaseDefaultPermissionArrayOutput {
   141  	return o.ApplyT(func(v LookupDataLakeSettingsResult) []GetDataLakeSettingsCreateDatabaseDefaultPermission {
   142  		return v.CreateDatabaseDefaultPermissions
   143  	}).(GetDataLakeSettingsCreateDatabaseDefaultPermissionArrayOutput)
   144  }
   145  
   146  // Up to three configuration blocks of principal permissions for default create table permissions. Detailed below.
   147  func (o LookupDataLakeSettingsResultOutput) CreateTableDefaultPermissions() GetDataLakeSettingsCreateTableDefaultPermissionArrayOutput {
   148  	return o.ApplyT(func(v LookupDataLakeSettingsResult) []GetDataLakeSettingsCreateTableDefaultPermission {
   149  		return v.CreateTableDefaultPermissions
   150  	}).(GetDataLakeSettingsCreateTableDefaultPermissionArrayOutput)
   151  }
   152  
   153  // A list of the account IDs of Amazon Web Services accounts with Amazon EMR clusters that are to perform data filtering.
   154  func (o LookupDataLakeSettingsResultOutput) ExternalDataFilteringAllowLists() pulumi.StringArrayOutput {
   155  	return o.ApplyT(func(v LookupDataLakeSettingsResult) []string { return v.ExternalDataFilteringAllowLists }).(pulumi.StringArrayOutput)
   156  }
   157  
   158  // The provider-assigned unique ID for this managed resource.
   159  func (o LookupDataLakeSettingsResultOutput) Id() pulumi.StringOutput {
   160  	return o.ApplyT(func(v LookupDataLakeSettingsResult) string { return v.Id }).(pulumi.StringOutput)
   161  }
   162  
   163  // List of ARNs of AWS Lake Formation principals (IAM users or roles) with only view access to the resources.
   164  func (o LookupDataLakeSettingsResultOutput) ReadOnlyAdmins() pulumi.StringArrayOutput {
   165  	return o.ApplyT(func(v LookupDataLakeSettingsResult) []string { return v.ReadOnlyAdmins }).(pulumi.StringArrayOutput)
   166  }
   167  
   168  // List of the resource-owning account IDs that the caller's account can use to share their user access details (user ARNs).
   169  func (o LookupDataLakeSettingsResultOutput) TrustedResourceOwners() pulumi.StringArrayOutput {
   170  	return o.ApplyT(func(v LookupDataLakeSettingsResult) []string { return v.TrustedResourceOwners }).(pulumi.StringArrayOutput)
   171  }
   172  
   173  func init() {
   174  	pulumi.RegisterOutputType(LookupDataLakeSettingsResultOutput{})
   175  }