// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. package lakeformation import ( "fmt" "time" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/awsutil" "github.com/aws/aws-sdk-go/aws/request" "github.com/aws/aws-sdk-go/private/protocol" "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" ) const opBatchGrantPermissions = "BatchGrantPermissions" // BatchGrantPermissionsRequest generates a "aws/request.Request" representing the // client's request for the BatchGrantPermissions operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See BatchGrantPermissions for more information on using the BatchGrantPermissions // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // // Example sending a request using the BatchGrantPermissionsRequest method. // req, resp := client.BatchGrantPermissionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/BatchGrantPermissions func (c *LakeFormation) BatchGrantPermissionsRequest(input *BatchGrantPermissionsInput) (req *request.Request, output *BatchGrantPermissionsOutput) { op := &request.Operation{ Name: opBatchGrantPermissions, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &BatchGrantPermissionsInput{} } output = &BatchGrantPermissionsOutput{} req = c.newRequest(op, input, output) return } // BatchGrantPermissions API operation for AWS Lake Formation. // // Batch operation to grant permissions to the principal. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Lake Formation's // API operation BatchGrantPermissions for usage and error information. // // Returned Error Types: // * InvalidInputException // The input provided was not valid. // // * OperationTimeoutException // The operation timed out. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/BatchGrantPermissions func (c *LakeFormation) BatchGrantPermissions(input *BatchGrantPermissionsInput) (*BatchGrantPermissionsOutput, error) { req, out := c.BatchGrantPermissionsRequest(input) return out, req.Send() } // BatchGrantPermissionsWithContext is the same as BatchGrantPermissions with the addition of // the ability to pass a context and additional request options. // // See BatchGrantPermissions for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *LakeFormation) BatchGrantPermissionsWithContext(ctx aws.Context, input *BatchGrantPermissionsInput, opts ...request.Option) (*BatchGrantPermissionsOutput, error) { req, out := c.BatchGrantPermissionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opBatchRevokePermissions = "BatchRevokePermissions" // BatchRevokePermissionsRequest generates a "aws/request.Request" representing the // client's request for the BatchRevokePermissions operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See BatchRevokePermissions for more information on using the BatchRevokePermissions // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // // Example sending a request using the BatchRevokePermissionsRequest method. // req, resp := client.BatchRevokePermissionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/BatchRevokePermissions func (c *LakeFormation) BatchRevokePermissionsRequest(input *BatchRevokePermissionsInput) (req *request.Request, output *BatchRevokePermissionsOutput) { op := &request.Operation{ Name: opBatchRevokePermissions, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &BatchRevokePermissionsInput{} } output = &BatchRevokePermissionsOutput{} req = c.newRequest(op, input, output) return } // BatchRevokePermissions API operation for AWS Lake Formation. // // Batch operation to revoke permissions from the principal. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Lake Formation's // API operation BatchRevokePermissions for usage and error information. // // Returned Error Types: // * InvalidInputException // The input provided was not valid. // // * OperationTimeoutException // The operation timed out. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/BatchRevokePermissions func (c *LakeFormation) BatchRevokePermissions(input *BatchRevokePermissionsInput) (*BatchRevokePermissionsOutput, error) { req, out := c.BatchRevokePermissionsRequest(input) return out, req.Send() } // BatchRevokePermissionsWithContext is the same as BatchRevokePermissions with the addition of // the ability to pass a context and additional request options. // // See BatchRevokePermissions for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *LakeFormation) BatchRevokePermissionsWithContext(ctx aws.Context, input *BatchRevokePermissionsInput, opts ...request.Option) (*BatchRevokePermissionsOutput, error) { req, out := c.BatchRevokePermissionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opDeregisterResource = "DeregisterResource" // DeregisterResourceRequest generates a "aws/request.Request" representing the // client's request for the DeregisterResource operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See DeregisterResource for more information on using the DeregisterResource // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // // Example sending a request using the DeregisterResourceRequest method. // req, resp := client.DeregisterResourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DeregisterResource func (c *LakeFormation) DeregisterResourceRequest(input *DeregisterResourceInput) (req *request.Request, output *DeregisterResourceOutput) { op := &request.Operation{ Name: opDeregisterResource, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &DeregisterResourceInput{} } output = &DeregisterResourceOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } // DeregisterResource API operation for AWS Lake Formation. // // Deregisters the resource as managed by the Data Catalog. // // When you deregister a path, Lake Formation removes the path from the inline // policy attached to your service-linked role. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Lake Formation's // API operation DeregisterResource for usage and error information. // // Returned Error Types: // * InvalidInputException // The input provided was not valid. // // * InternalServiceException // An internal service error occurred. // // * OperationTimeoutException // The operation timed out. // // * EntityNotFoundException // A specified entity does not exist // // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DeregisterResource func (c *LakeFormation) DeregisterResource(input *DeregisterResourceInput) (*DeregisterResourceOutput, error) { req, out := c.DeregisterResourceRequest(input) return out, req.Send() } // DeregisterResourceWithContext is the same as DeregisterResource with the addition of // the ability to pass a context and additional request options. // // See DeregisterResource for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *LakeFormation) DeregisterResourceWithContext(ctx aws.Context, input *DeregisterResourceInput, opts ...request.Option) (*DeregisterResourceOutput, error) { req, out := c.DeregisterResourceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opDescribeResource = "DescribeResource" // DescribeResourceRequest generates a "aws/request.Request" representing the // client's request for the DescribeResource operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See DescribeResource for more information on using the DescribeResource // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // // Example sending a request using the DescribeResourceRequest method. // req, resp := client.DescribeResourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DescribeResource func (c *LakeFormation) DescribeResourceRequest(input *DescribeResourceInput) (req *request.Request, output *DescribeResourceOutput) { op := &request.Operation{ Name: opDescribeResource, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &DescribeResourceInput{} } output = &DescribeResourceOutput{} req = c.newRequest(op, input, output) return } // DescribeResource API operation for AWS Lake Formation. // // Retrieves the current data access role for the given resource registered // in AWS Lake Formation. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Lake Formation's // API operation DescribeResource for usage and error information. // // Returned Error Types: // * InvalidInputException // The input provided was not valid. // // * InternalServiceException // An internal service error occurred. // // * OperationTimeoutException // The operation timed out. // // * EntityNotFoundException // A specified entity does not exist // // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DescribeResource func (c *LakeFormation) DescribeResource(input *DescribeResourceInput) (*DescribeResourceOutput, error) { req, out := c.DescribeResourceRequest(input) return out, req.Send() } // DescribeResourceWithContext is the same as DescribeResource with the addition of // the ability to pass a context and additional request options. // // See DescribeResource for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *LakeFormation) DescribeResourceWithContext(ctx aws.Context, input *DescribeResourceInput, opts ...request.Option) (*DescribeResourceOutput, error) { req, out := c.DescribeResourceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opGetDataLakeSettings = "GetDataLakeSettings" // GetDataLakeSettingsRequest generates a "aws/request.Request" representing the // client's request for the GetDataLakeSettings operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See GetDataLakeSettings for more information on using the GetDataLakeSettings // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // // Example sending a request using the GetDataLakeSettingsRequest method. // req, resp := client.GetDataLakeSettingsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetDataLakeSettings func (c *LakeFormation) GetDataLakeSettingsRequest(input *GetDataLakeSettingsInput) (req *request.Request, output *GetDataLakeSettingsOutput) { op := &request.Operation{ Name: opGetDataLakeSettings, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &GetDataLakeSettingsInput{} } output = &GetDataLakeSettingsOutput{} req = c.newRequest(op, input, output) return } // GetDataLakeSettings API operation for AWS Lake Formation. // // Retrieves the list of the data lake administrators of a Lake Formation-managed // data lake. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Lake Formation's // API operation GetDataLakeSettings for usage and error information. // // Returned Error Types: // * InternalServiceException // An internal service error occurred. // // * InvalidInputException // The input provided was not valid. // // * EntityNotFoundException // A specified entity does not exist // // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetDataLakeSettings func (c *LakeFormation) GetDataLakeSettings(input *GetDataLakeSettingsInput) (*GetDataLakeSettingsOutput, error) { req, out := c.GetDataLakeSettingsRequest(input) return out, req.Send() } // GetDataLakeSettingsWithContext is the same as GetDataLakeSettings with the addition of // the ability to pass a context and additional request options. // // See GetDataLakeSettings for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *LakeFormation) GetDataLakeSettingsWithContext(ctx aws.Context, input *GetDataLakeSettingsInput, opts ...request.Option) (*GetDataLakeSettingsOutput, error) { req, out := c.GetDataLakeSettingsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opGetEffectivePermissionsForPath = "GetEffectivePermissionsForPath" // GetEffectivePermissionsForPathRequest generates a "aws/request.Request" representing the // client's request for the GetEffectivePermissionsForPath operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See GetEffectivePermissionsForPath for more information on using the GetEffectivePermissionsForPath // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // // Example sending a request using the GetEffectivePermissionsForPathRequest method. // req, resp := client.GetEffectivePermissionsForPathRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetEffectivePermissionsForPath func (c *LakeFormation) GetEffectivePermissionsForPathRequest(input *GetEffectivePermissionsForPathInput) (req *request.Request, output *GetEffectivePermissionsForPathOutput) { op := &request.Operation{ Name: opGetEffectivePermissionsForPath, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ InputTokens: []string{"NextToken"}, OutputTokens: []string{"NextToken"}, LimitToken: "MaxResults", TruncationToken: "", }, } if input == nil { input = &GetEffectivePermissionsForPathInput{} } output = &GetEffectivePermissionsForPathOutput{} req = c.newRequest(op, input, output) return } // GetEffectivePermissionsForPath API operation for AWS Lake Formation. // // Returns the Lake Formation permissions for a specified table or database // resource located at a path in Amazon S3. GetEffectivePermissionsForPath will // not return databases and tables if the catalog is encrypted. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Lake Formation's // API operation GetEffectivePermissionsForPath for usage and error information. // // Returned Error Types: // * InvalidInputException // The input provided was not valid. // // * EntityNotFoundException // A specified entity does not exist // // * OperationTimeoutException // The operation timed out. // // * InternalServiceException // An internal service error occurred. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetEffectivePermissionsForPath func (c *LakeFormation) GetEffectivePermissionsForPath(input *GetEffectivePermissionsForPathInput) (*GetEffectivePermissionsForPathOutput, error) { req, out := c.GetEffectivePermissionsForPathRequest(input) return out, req.Send() } // GetEffectivePermissionsForPathWithContext is the same as GetEffectivePermissionsForPath with the addition of // the ability to pass a context and additional request options. // // See GetEffectivePermissionsForPath for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *LakeFormation) GetEffectivePermissionsForPathWithContext(ctx aws.Context, input *GetEffectivePermissionsForPathInput, opts ...request.Option) (*GetEffectivePermissionsForPathOutput, error) { req, out := c.GetEffectivePermissionsForPathRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // GetEffectivePermissionsForPathPages iterates over the pages of a GetEffectivePermissionsForPath operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See GetEffectivePermissionsForPath method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // // // Example iterating over at most 3 pages of a GetEffectivePermissionsForPath operation. // pageNum := 0 // err := client.GetEffectivePermissionsForPathPages(params, // func(page *lakeformation.GetEffectivePermissionsForPathOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // func (c *LakeFormation) GetEffectivePermissionsForPathPages(input *GetEffectivePermissionsForPathInput, fn func(*GetEffectivePermissionsForPathOutput, bool) bool) error { return c.GetEffectivePermissionsForPathPagesWithContext(aws.BackgroundContext(), input, fn) } // GetEffectivePermissionsForPathPagesWithContext same as GetEffectivePermissionsForPathPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *LakeFormation) GetEffectivePermissionsForPathPagesWithContext(ctx aws.Context, input *GetEffectivePermissionsForPathInput, fn func(*GetEffectivePermissionsForPathOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { var inCpy *GetEffectivePermissionsForPathInput if input != nil { tmp := *input inCpy = &tmp } req, _ := c.GetEffectivePermissionsForPathRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil }, } for p.Next() { if !fn(p.Page().(*GetEffectivePermissionsForPathOutput), !p.HasNextPage()) { break } } return p.Err() } const opGrantPermissions = "GrantPermissions" // GrantPermissionsRequest generates a "aws/request.Request" representing the // client's request for the GrantPermissions operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See GrantPermissions for more information on using the GrantPermissions // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // // Example sending a request using the GrantPermissionsRequest method. // req, resp := client.GrantPermissionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GrantPermissions func (c *LakeFormation) GrantPermissionsRequest(input *GrantPermissionsInput) (req *request.Request, output *GrantPermissionsOutput) { op := &request.Operation{ Name: opGrantPermissions, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &GrantPermissionsInput{} } output = &GrantPermissionsOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } // GrantPermissions API operation for AWS Lake Formation. // // Grants permissions to the principal to access metadata in the Data Catalog // and data organized in underlying data storage such as Amazon S3. // // For information about permissions, see Security and Access Control to Metadata // and Data (https://docs-aws.amazon.com/lake-formation/latest/dg/security-data-access.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Lake Formation's // API operation GrantPermissions for usage and error information. // // Returned Error Types: // * ConcurrentModificationException // Two processes are trying to modify a resource simultaneously. // // * EntityNotFoundException // A specified entity does not exist // // * InvalidInputException // The input provided was not valid. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GrantPermissions func (c *LakeFormation) GrantPermissions(input *GrantPermissionsInput) (*GrantPermissionsOutput, error) { req, out := c.GrantPermissionsRequest(input) return out, req.Send() } // GrantPermissionsWithContext is the same as GrantPermissions with the addition of // the ability to pass a context and additional request options. // // See GrantPermissions for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *LakeFormation) GrantPermissionsWithContext(ctx aws.Context, input *GrantPermissionsInput, opts ...request.Option) (*GrantPermissionsOutput, error) { req, out := c.GrantPermissionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opListPermissions = "ListPermissions" // ListPermissionsRequest generates a "aws/request.Request" representing the // client's request for the ListPermissions operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See ListPermissions for more information on using the ListPermissions // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // // Example sending a request using the ListPermissionsRequest method. // req, resp := client.ListPermissionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListPermissions func (c *LakeFormation) ListPermissionsRequest(input *ListPermissionsInput) (req *request.Request, output *ListPermissionsOutput) { op := &request.Operation{ Name: opListPermissions, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ InputTokens: []string{"NextToken"}, OutputTokens: []string{"NextToken"}, LimitToken: "MaxResults", TruncationToken: "", }, } if input == nil { input = &ListPermissionsInput{} } output = &ListPermissionsOutput{} req = c.newRequest(op, input, output) return } // ListPermissions API operation for AWS Lake Formation. // // Returns a list of the principal permissions on the resource, filtered by // the permissions of the caller. For example, if you are granted an ALTER permission, // you are able to see only the principal permissions for ALTER. // // This operation returns only those permissions that have been explicitly granted. // // For information about permissions, see Security and Access Control to Metadata // and Data (https://docs-aws.amazon.com/lake-formation/latest/dg/security-data-access.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Lake Formation's // API operation ListPermissions for usage and error information. // // Returned Error Types: // * InvalidInputException // The input provided was not valid. // // * OperationTimeoutException // The operation timed out. // // * InternalServiceException // An internal service error occurred. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListPermissions func (c *LakeFormation) ListPermissions(input *ListPermissionsInput) (*ListPermissionsOutput, error) { req, out := c.ListPermissionsRequest(input) return out, req.Send() } // ListPermissionsWithContext is the same as ListPermissions with the addition of // the ability to pass a context and additional request options. // // See ListPermissions for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *LakeFormation) ListPermissionsWithContext(ctx aws.Context, input *ListPermissionsInput, opts ...request.Option) (*ListPermissionsOutput, error) { req, out := c.ListPermissionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // ListPermissionsPages iterates over the pages of a ListPermissions operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See ListPermissions method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // // // Example iterating over at most 3 pages of a ListPermissions operation. // pageNum := 0 // err := client.ListPermissionsPages(params, // func(page *lakeformation.ListPermissionsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // func (c *LakeFormation) ListPermissionsPages(input *ListPermissionsInput, fn func(*ListPermissionsOutput, bool) bool) error { return c.ListPermissionsPagesWithContext(aws.BackgroundContext(), input, fn) } // ListPermissionsPagesWithContext same as ListPermissionsPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *LakeFormation) ListPermissionsPagesWithContext(ctx aws.Context, input *ListPermissionsInput, fn func(*ListPermissionsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { var inCpy *ListPermissionsInput if input != nil { tmp := *input inCpy = &tmp } req, _ := c.ListPermissionsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil }, } for p.Next() { if !fn(p.Page().(*ListPermissionsOutput), !p.HasNextPage()) { break } } return p.Err() } const opListResources = "ListResources" // ListResourcesRequest generates a "aws/request.Request" representing the // client's request for the ListResources operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See ListResources for more information on using the ListResources // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // // Example sending a request using the ListResourcesRequest method. // req, resp := client.ListResourcesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListResources func (c *LakeFormation) ListResourcesRequest(input *ListResourcesInput) (req *request.Request, output *ListResourcesOutput) { op := &request.Operation{ Name: opListResources, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ InputTokens: []string{"NextToken"}, OutputTokens: []string{"NextToken"}, LimitToken: "MaxResults", TruncationToken: "", }, } if input == nil { input = &ListResourcesInput{} } output = &ListResourcesOutput{} req = c.newRequest(op, input, output) return } // ListResources API operation for AWS Lake Formation. // // Lists the resources registered to be managed by the Data Catalog. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Lake Formation's // API operation ListResources for usage and error information. // // Returned Error Types: // * InvalidInputException // The input provided was not valid. // // * InternalServiceException // An internal service error occurred. // // * OperationTimeoutException // The operation timed out. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListResources func (c *LakeFormation) ListResources(input *ListResourcesInput) (*ListResourcesOutput, error) { req, out := c.ListResourcesRequest(input) return out, req.Send() } // ListResourcesWithContext is the same as ListResources with the addition of // the ability to pass a context and additional request options. // // See ListResources for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *LakeFormation) ListResourcesWithContext(ctx aws.Context, input *ListResourcesInput, opts ...request.Option) (*ListResourcesOutput, error) { req, out := c.ListResourcesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // ListResourcesPages iterates over the pages of a ListResources operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See ListResources method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // // // Example iterating over at most 3 pages of a ListResources operation. // pageNum := 0 // err := client.ListResourcesPages(params, // func(page *lakeformation.ListResourcesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // func (c *LakeFormation) ListResourcesPages(input *ListResourcesInput, fn func(*ListResourcesOutput, bool) bool) error { return c.ListResourcesPagesWithContext(aws.BackgroundContext(), input, fn) } // ListResourcesPagesWithContext same as ListResourcesPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *LakeFormation) ListResourcesPagesWithContext(ctx aws.Context, input *ListResourcesInput, fn func(*ListResourcesOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { var inCpy *ListResourcesInput if input != nil { tmp := *input inCpy = &tmp } req, _ := c.ListResourcesRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil }, } for p.Next() { if !fn(p.Page().(*ListResourcesOutput), !p.HasNextPage()) { break } } return p.Err() } const opPutDataLakeSettings = "PutDataLakeSettings" // PutDataLakeSettingsRequest generates a "aws/request.Request" representing the // client's request for the PutDataLakeSettings operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See PutDataLakeSettings for more information on using the PutDataLakeSettings // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // // Example sending a request using the PutDataLakeSettingsRequest method. // req, resp := client.PutDataLakeSettingsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/PutDataLakeSettings func (c *LakeFormation) PutDataLakeSettingsRequest(input *PutDataLakeSettingsInput) (req *request.Request, output *PutDataLakeSettingsOutput) { op := &request.Operation{ Name: opPutDataLakeSettings, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &PutDataLakeSettingsInput{} } output = &PutDataLakeSettingsOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } // PutDataLakeSettings API operation for AWS Lake Formation. // // Sets the list of data lake administrators who have admin privileges on all // resources managed by Lake Formation. For more information on admin privileges, // see Granting Lake Formation Permissions (https://docs.aws.amazon.com/lake-formation/latest/dg/lake-formation-permissions.html). // // This API replaces the current list of data lake admins with the new list // being passed. To add an admin, fetch the current list and add the new admin // to that list and pass that list in this API. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Lake Formation's // API operation PutDataLakeSettings for usage and error information. // // Returned Error Types: // * InternalServiceException // An internal service error occurred. // // * InvalidInputException // The input provided was not valid. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/PutDataLakeSettings func (c *LakeFormation) PutDataLakeSettings(input *PutDataLakeSettingsInput) (*PutDataLakeSettingsOutput, error) { req, out := c.PutDataLakeSettingsRequest(input) return out, req.Send() } // PutDataLakeSettingsWithContext is the same as PutDataLakeSettings with the addition of // the ability to pass a context and additional request options. // // See PutDataLakeSettings for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *LakeFormation) PutDataLakeSettingsWithContext(ctx aws.Context, input *PutDataLakeSettingsInput, opts ...request.Option) (*PutDataLakeSettingsOutput, error) { req, out := c.PutDataLakeSettingsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opRegisterResource = "RegisterResource" // RegisterResourceRequest generates a "aws/request.Request" representing the // client's request for the RegisterResource operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See RegisterResource for more information on using the RegisterResource // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // // Example sending a request using the RegisterResourceRequest method. // req, resp := client.RegisterResourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/RegisterResource func (c *LakeFormation) RegisterResourceRequest(input *RegisterResourceInput) (req *request.Request, output *RegisterResourceOutput) { op := &request.Operation{ Name: opRegisterResource, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &RegisterResourceInput{} } output = &RegisterResourceOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } // RegisterResource API operation for AWS Lake Formation. // // Registers the resource as managed by the Data Catalog. // // To add or update data, Lake Formation needs read/write access to the chosen // Amazon S3 path. Choose a role that you know has permission to do this, or // choose the AWSServiceRoleForLakeFormationDataAccess service-linked role. // When you register the first Amazon S3 path, the service-linked role and a // new inline policy are created on your behalf. Lake Formation adds the first // path to the inline policy and attaches it to the service-linked role. When // you register subsequent paths, Lake Formation adds the path to the existing // policy. // // The following request registers a new location and gives AWS Lake Formation // permission to use the service-linked role to access that location. // // ResourceArn = arn:aws:s3:::my-bucket UseServiceLinkedRole = true // // If UseServiceLinkedRole is not set to true, you must provide or set the RoleArn: // // arn:aws:iam::12345:role/my-data-access-role // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Lake Formation's // API operation RegisterResource for usage and error information. // // Returned Error Types: // * InvalidInputException // The input provided was not valid. // // * InternalServiceException // An internal service error occurred. // // * OperationTimeoutException // The operation timed out. // // * AlreadyExistsException // A resource to be created or added already exists. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/RegisterResource func (c *LakeFormation) RegisterResource(input *RegisterResourceInput) (*RegisterResourceOutput, error) { req, out := c.RegisterResourceRequest(input) return out, req.Send() } // RegisterResourceWithContext is the same as RegisterResource with the addition of // the ability to pass a context and additional request options. // // See RegisterResource for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *LakeFormation) RegisterResourceWithContext(ctx aws.Context, input *RegisterResourceInput, opts ...request.Option) (*RegisterResourceOutput, error) { req, out := c.RegisterResourceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opRevokePermissions = "RevokePermissions" // RevokePermissionsRequest generates a "aws/request.Request" representing the // client's request for the RevokePermissions operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See RevokePermissions for more information on using the RevokePermissions // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // // Example sending a request using the RevokePermissionsRequest method. // req, resp := client.RevokePermissionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/RevokePermissions func (c *LakeFormation) RevokePermissionsRequest(input *RevokePermissionsInput) (req *request.Request, output *RevokePermissionsOutput) { op := &request.Operation{ Name: opRevokePermissions, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &RevokePermissionsInput{} } output = &RevokePermissionsOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } // RevokePermissions API operation for AWS Lake Formation. // // Revokes permissions to the principal to access metadata in the Data Catalog // and data organized in underlying data storage such as Amazon S3. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Lake Formation's // API operation RevokePermissions for usage and error information. // // Returned Error Types: // * ConcurrentModificationException // Two processes are trying to modify a resource simultaneously. // // * EntityNotFoundException // A specified entity does not exist // // * InvalidInputException // The input provided was not valid. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/RevokePermissions func (c *LakeFormation) RevokePermissions(input *RevokePermissionsInput) (*RevokePermissionsOutput, error) { req, out := c.RevokePermissionsRequest(input) return out, req.Send() } // RevokePermissionsWithContext is the same as RevokePermissions with the addition of // the ability to pass a context and additional request options. // // See RevokePermissions for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *LakeFormation) RevokePermissionsWithContext(ctx aws.Context, input *RevokePermissionsInput, opts ...request.Option) (*RevokePermissionsOutput, error) { req, out := c.RevokePermissionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opUpdateResource = "UpdateResource" // UpdateResourceRequest generates a "aws/request.Request" representing the // client's request for the UpdateResource operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See UpdateResource for more information on using the UpdateResource // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // // Example sending a request using the UpdateResourceRequest method. // req, resp := client.UpdateResourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/UpdateResource func (c *LakeFormation) UpdateResourceRequest(input *UpdateResourceInput) (req *request.Request, output *UpdateResourceOutput) { op := &request.Operation{ Name: opUpdateResource, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &UpdateResourceInput{} } output = &UpdateResourceOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } // UpdateResource API operation for AWS Lake Formation. // // Updates the data access role used for vending access to the given (registered) // resource in AWS Lake Formation. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Lake Formation's // API operation UpdateResource for usage and error information. // // Returned Error Types: // * InvalidInputException // The input provided was not valid. // // * InternalServiceException // An internal service error occurred. // // * OperationTimeoutException // The operation timed out. // // * EntityNotFoundException // A specified entity does not exist // // See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/UpdateResource func (c *LakeFormation) UpdateResource(input *UpdateResourceInput) (*UpdateResourceOutput, error) { req, out := c.UpdateResourceRequest(input) return out, req.Send() } // UpdateResourceWithContext is the same as UpdateResource with the addition of // the ability to pass a context and additional request options. // // See UpdateResource for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *LakeFormation) UpdateResourceWithContext(ctx aws.Context, input *UpdateResourceInput, opts ...request.Option) (*UpdateResourceOutput, error) { req, out := c.UpdateResourceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // A resource to be created or added already exists. type AlreadyExistsException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` // A message describing the problem. Message_ *string `locationName:"Message" type:"string"` } // String returns the string representation func (s AlreadyExistsException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s AlreadyExistsException) GoString() string { return s.String() } func newErrorAlreadyExistsException(v protocol.ResponseMetadata) error { return &AlreadyExistsException{ RespMetadata: v, } } // Code returns the exception type name. func (s *AlreadyExistsException) Code() string { return "AlreadyExistsException" } // Message returns the exception's message. func (s *AlreadyExistsException) Message() string { if s.Message_ != nil { return *s.Message_ } return "" } // OrigErr always returns nil, satisfies awserr.Error interface. func (s *AlreadyExistsException) OrigErr() error { return nil } func (s *AlreadyExistsException) Error() string { return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } // Status code returns the HTTP status code for the request's response error. func (s *AlreadyExistsException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. func (s *AlreadyExistsException) RequestID() string { return s.RespMetadata.RequestID } type BatchGrantPermissionsInput struct { _ struct{} `type:"structure"` // The identifier for the Data Catalog. By default, the account ID. The Data // Catalog is the persistent metadata store. It contains database definitions, // table definitions, and other control information to manage your AWS Lake // Formation environment. CatalogId *string `min:"1" type:"string"` // A list of up to 20 entries for resource permissions to be granted by batch // operation to the principal. // // Entries is a required field Entries []*BatchPermissionsRequestEntry `type:"list" required:"true"` } // String returns the string representation func (s BatchGrantPermissionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s BatchGrantPermissionsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *BatchGrantPermissionsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "BatchGrantPermissionsInput"} if s.CatalogId != nil && len(*s.CatalogId) < 1 { invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) } if s.Entries == nil { invalidParams.Add(request.NewErrParamRequired("Entries")) } if s.Entries != nil { for i, v := range s.Entries { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Entries", i), err.(request.ErrInvalidParams)) } } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetCatalogId sets the CatalogId field's value. func (s *BatchGrantPermissionsInput) SetCatalogId(v string) *BatchGrantPermissionsInput { s.CatalogId = &v return s } // SetEntries sets the Entries field's value. func (s *BatchGrantPermissionsInput) SetEntries(v []*BatchPermissionsRequestEntry) *BatchGrantPermissionsInput { s.Entries = v return s } type BatchGrantPermissionsOutput struct { _ struct{} `type:"structure"` // A list of failures to grant permissions to the resources. Failures []*BatchPermissionsFailureEntry `type:"list"` } // String returns the string representation func (s BatchGrantPermissionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s BatchGrantPermissionsOutput) GoString() string { return s.String() } // SetFailures sets the Failures field's value. func (s *BatchGrantPermissionsOutput) SetFailures(v []*BatchPermissionsFailureEntry) *BatchGrantPermissionsOutput { s.Failures = v return s } // A list of failures when performing a batch grant or batch revoke operation. type BatchPermissionsFailureEntry struct { _ struct{} `type:"structure"` // An error message that applies to the failure of the entry. Error *ErrorDetail `type:"structure"` // An identifier for an entry of the batch request. RequestEntry *BatchPermissionsRequestEntry `type:"structure"` } // String returns the string representation func (s BatchPermissionsFailureEntry) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s BatchPermissionsFailureEntry) GoString() string { return s.String() } // SetError sets the Error field's value. func (s *BatchPermissionsFailureEntry) SetError(v *ErrorDetail) *BatchPermissionsFailureEntry { s.Error = v return s } // SetRequestEntry sets the RequestEntry field's value. func (s *BatchPermissionsFailureEntry) SetRequestEntry(v *BatchPermissionsRequestEntry) *BatchPermissionsFailureEntry { s.RequestEntry = v return s } // A permission to a resource granted by batch operation to the principal. type BatchPermissionsRequestEntry struct { _ struct{} `type:"structure"` // A unique identifier for the batch permissions request entry. // // Id is a required field Id *string `min:"1" type:"string" required:"true"` // The permissions to be granted. Permissions []*string `type:"list"` // Indicates if the option to pass permissions is granted. PermissionsWithGrantOption []*string `type:"list"` // The principal to be granted a permission. Principal *DataLakePrincipal `type:"structure"` // The resource to which the principal is to be granted a permission. Resource *Resource `type:"structure"` } // String returns the string representation func (s BatchPermissionsRequestEntry) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s BatchPermissionsRequestEntry) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *BatchPermissionsRequestEntry) Validate() error { invalidParams := request.ErrInvalidParams{Context: "BatchPermissionsRequestEntry"} if s.Id == nil { invalidParams.Add(request.NewErrParamRequired("Id")) } if s.Id != nil && len(*s.Id) < 1 { invalidParams.Add(request.NewErrParamMinLen("Id", 1)) } if s.Principal != nil { if err := s.Principal.Validate(); err != nil { invalidParams.AddNested("Principal", err.(request.ErrInvalidParams)) } } if s.Resource != nil { if err := s.Resource.Validate(); err != nil { invalidParams.AddNested("Resource", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetId sets the Id field's value. func (s *BatchPermissionsRequestEntry) SetId(v string) *BatchPermissionsRequestEntry { s.Id = &v return s } // SetPermissions sets the Permissions field's value. func (s *BatchPermissionsRequestEntry) SetPermissions(v []*string) *BatchPermissionsRequestEntry { s.Permissions = v return s } // SetPermissionsWithGrantOption sets the PermissionsWithGrantOption field's value. func (s *BatchPermissionsRequestEntry) SetPermissionsWithGrantOption(v []*string) *BatchPermissionsRequestEntry { s.PermissionsWithGrantOption = v return s } // SetPrincipal sets the Principal field's value. func (s *BatchPermissionsRequestEntry) SetPrincipal(v *DataLakePrincipal) *BatchPermissionsRequestEntry { s.Principal = v return s } // SetResource sets the Resource field's value. func (s *BatchPermissionsRequestEntry) SetResource(v *Resource) *BatchPermissionsRequestEntry { s.Resource = v return s } type BatchRevokePermissionsInput struct { _ struct{} `type:"structure"` // The identifier for the Data Catalog. By default, the account ID. The Data // Catalog is the persistent metadata store. It contains database definitions, // table definitions, and other control information to manage your AWS Lake // Formation environment. CatalogId *string `min:"1" type:"string"` // A list of up to 20 entries for resource permissions to be revoked by batch // operation to the principal. // // Entries is a required field Entries []*BatchPermissionsRequestEntry `type:"list" required:"true"` } // String returns the string representation func (s BatchRevokePermissionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s BatchRevokePermissionsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *BatchRevokePermissionsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "BatchRevokePermissionsInput"} if s.CatalogId != nil && len(*s.CatalogId) < 1 { invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) } if s.Entries == nil { invalidParams.Add(request.NewErrParamRequired("Entries")) } if s.Entries != nil { for i, v := range s.Entries { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Entries", i), err.(request.ErrInvalidParams)) } } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetCatalogId sets the CatalogId field's value. func (s *BatchRevokePermissionsInput) SetCatalogId(v string) *BatchRevokePermissionsInput { s.CatalogId = &v return s } // SetEntries sets the Entries field's value. func (s *BatchRevokePermissionsInput) SetEntries(v []*BatchPermissionsRequestEntry) *BatchRevokePermissionsInput { s.Entries = v return s } type BatchRevokePermissionsOutput struct { _ struct{} `type:"structure"` // A list of failures to revoke permissions to the resources. Failures []*BatchPermissionsFailureEntry `type:"list"` } // String returns the string representation func (s BatchRevokePermissionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s BatchRevokePermissionsOutput) GoString() string { return s.String() } // SetFailures sets the Failures field's value. func (s *BatchRevokePermissionsOutput) SetFailures(v []*BatchPermissionsFailureEntry) *BatchRevokePermissionsOutput { s.Failures = v return s } // A structure for the catalog object. type CatalogResource struct { _ struct{} `type:"structure"` } // String returns the string representation func (s CatalogResource) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CatalogResource) GoString() string { return s.String() } // A wildcard object, consisting of an optional list of excluded column names // or indexes. type ColumnWildcard struct { _ struct{} `type:"structure"` // Excludes column names. Any column with this name will be excluded. ExcludedColumnNames []*string `type:"list"` } // String returns the string representation func (s ColumnWildcard) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ColumnWildcard) GoString() string { return s.String() } // SetExcludedColumnNames sets the ExcludedColumnNames field's value. func (s *ColumnWildcard) SetExcludedColumnNames(v []*string) *ColumnWildcard { s.ExcludedColumnNames = v return s } // Two processes are trying to modify a resource simultaneously. type ConcurrentModificationException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` // A message describing the problem. Message_ *string `locationName:"Message" type:"string"` } // String returns the string representation func (s ConcurrentModificationException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ConcurrentModificationException) GoString() string { return s.String() } func newErrorConcurrentModificationException(v protocol.ResponseMetadata) error { return &ConcurrentModificationException{ RespMetadata: v, } } // Code returns the exception type name. func (s *ConcurrentModificationException) Code() string { return "ConcurrentModificationException" } // Message returns the exception's message. func (s *ConcurrentModificationException) Message() string { if s.Message_ != nil { return *s.Message_ } return "" } // OrigErr always returns nil, satisfies awserr.Error interface. func (s *ConcurrentModificationException) OrigErr() error { return nil } func (s *ConcurrentModificationException) Error() string { return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } // Status code returns the HTTP status code for the request's response error. func (s *ConcurrentModificationException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. func (s *ConcurrentModificationException) RequestID() string { return s.RespMetadata.RequestID } // The AWS Lake Formation principal. Supported principals are IAM users or IAM // roles. type DataLakePrincipal struct { _ struct{} `type:"structure"` // An identifier for the AWS Lake Formation principal. DataLakePrincipalIdentifier *string `min:"1" type:"string"` } // String returns the string representation func (s DataLakePrincipal) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DataLakePrincipal) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DataLakePrincipal) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DataLakePrincipal"} if s.DataLakePrincipalIdentifier != nil && len(*s.DataLakePrincipalIdentifier) < 1 { invalidParams.Add(request.NewErrParamMinLen("DataLakePrincipalIdentifier", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetDataLakePrincipalIdentifier sets the DataLakePrincipalIdentifier field's value. func (s *DataLakePrincipal) SetDataLakePrincipalIdentifier(v string) *DataLakePrincipal { s.DataLakePrincipalIdentifier = &v return s } // A structure representing a list of AWS Lake Formation principals designated // as data lake administrators and lists of principal permission entries for // default create database and default create table permissions. type DataLakeSettings struct { _ struct{} `type:"structure"` // A structure representing a list of up to three principal permissions entries // for default create database permissions. CreateDatabaseDefaultPermissions []*PrincipalPermissions `type:"list"` // A structure representing a list of up to three principal permissions entries // for default create table permissions. CreateTableDefaultPermissions []*PrincipalPermissions `type:"list"` // A list of AWS Lake Formation principals. Supported principals are IAM users // or IAM roles. DataLakeAdmins []*DataLakePrincipal `type:"list"` // A list of the resource-owning account IDs that the caller's account can use // to share their user access details (user ARNs). The user ARNs can be logged // in the resource owner's AWS CloudTrail log. // // You may want to specify this property when you are in a high-trust boundary, // such as the same team or company. TrustedResourceOwners []*string `type:"list"` } // String returns the string representation func (s DataLakeSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DataLakeSettings) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DataLakeSettings) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DataLakeSettings"} if s.CreateDatabaseDefaultPermissions != nil { for i, v := range s.CreateDatabaseDefaultPermissions { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CreateDatabaseDefaultPermissions", i), err.(request.ErrInvalidParams)) } } } if s.CreateTableDefaultPermissions != nil { for i, v := range s.CreateTableDefaultPermissions { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CreateTableDefaultPermissions", i), err.(request.ErrInvalidParams)) } } } if s.DataLakeAdmins != nil { for i, v := range s.DataLakeAdmins { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DataLakeAdmins", i), err.(request.ErrInvalidParams)) } } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetCreateDatabaseDefaultPermissions sets the CreateDatabaseDefaultPermissions field's value. func (s *DataLakeSettings) SetCreateDatabaseDefaultPermissions(v []*PrincipalPermissions) *DataLakeSettings { s.CreateDatabaseDefaultPermissions = v return s } // SetCreateTableDefaultPermissions sets the CreateTableDefaultPermissions field's value. func (s *DataLakeSettings) SetCreateTableDefaultPermissions(v []*PrincipalPermissions) *DataLakeSettings { s.CreateTableDefaultPermissions = v return s } // SetDataLakeAdmins sets the DataLakeAdmins field's value. func (s *DataLakeSettings) SetDataLakeAdmins(v []*DataLakePrincipal) *DataLakeSettings { s.DataLakeAdmins = v return s } // SetTrustedResourceOwners sets the TrustedResourceOwners field's value. func (s *DataLakeSettings) SetTrustedResourceOwners(v []*string) *DataLakeSettings { s.TrustedResourceOwners = v return s } // A structure for a data location object where permissions are granted or revoked. type DataLocationResource struct { _ struct{} `type:"structure"` // The identifier for the Data Catalog where the location is registered with // AWS Lake Formation. By default, it is the account ID of the caller. CatalogId *string `min:"1" type:"string"` // The Amazon Resource Name (ARN) that uniquely identifies the data location // resource. // // ResourceArn is a required field ResourceArn *string `type:"string" required:"true"` } // String returns the string representation func (s DataLocationResource) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DataLocationResource) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DataLocationResource) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DataLocationResource"} if s.CatalogId != nil && len(*s.CatalogId) < 1 { invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) } if s.ResourceArn == nil { invalidParams.Add(request.NewErrParamRequired("ResourceArn")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetCatalogId sets the CatalogId field's value. func (s *DataLocationResource) SetCatalogId(v string) *DataLocationResource { s.CatalogId = &v return s } // SetResourceArn sets the ResourceArn field's value. func (s *DataLocationResource) SetResourceArn(v string) *DataLocationResource { s.ResourceArn = &v return s } // A structure for the database object. type DatabaseResource struct { _ struct{} `type:"structure"` // The identifier for the Data Catalog. By default, it is the account ID of // the caller. CatalogId *string `min:"1" type:"string"` // The name of the database resource. Unique to the Data Catalog. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` } // String returns the string representation func (s DatabaseResource) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DatabaseResource) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DatabaseResource) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DatabaseResource"} if s.CatalogId != nil && len(*s.CatalogId) < 1 { invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) } if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } if s.Name != nil && len(*s.Name) < 1 { invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetCatalogId sets the CatalogId field's value. func (s *DatabaseResource) SetCatalogId(v string) *DatabaseResource { s.CatalogId = &v return s } // SetName sets the Name field's value. func (s *DatabaseResource) SetName(v string) *DatabaseResource { s.Name = &v return s } type DeregisterResourceInput struct { _ struct{} `type:"structure"` // The Amazon Resource Name (ARN) of the resource that you want to deregister. // // ResourceArn is a required field ResourceArn *string `type:"string" required:"true"` } // String returns the string representation func (s DeregisterResourceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeregisterResourceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DeregisterResourceInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DeregisterResourceInput"} if s.ResourceArn == nil { invalidParams.Add(request.NewErrParamRequired("ResourceArn")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetResourceArn sets the ResourceArn field's value. func (s *DeregisterResourceInput) SetResourceArn(v string) *DeregisterResourceInput { s.ResourceArn = &v return s } type DeregisterResourceOutput struct { _ struct{} `type:"structure"` } // String returns the string representation func (s DeregisterResourceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeregisterResourceOutput) GoString() string { return s.String() } type DescribeResourceInput struct { _ struct{} `type:"structure"` // The resource ARN. // // ResourceArn is a required field ResourceArn *string `type:"string" required:"true"` } // String returns the string representation func (s DescribeResourceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DescribeResourceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DescribeResourceInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DescribeResourceInput"} if s.ResourceArn == nil { invalidParams.Add(request.NewErrParamRequired("ResourceArn")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetResourceArn sets the ResourceArn field's value. func (s *DescribeResourceInput) SetResourceArn(v string) *DescribeResourceInput { s.ResourceArn = &v return s } type DescribeResourceOutput struct { _ struct{} `type:"structure"` // A structure containing information about an AWS Lake Formation resource. ResourceInfo *ResourceInfo `type:"structure"` } // String returns the string representation func (s DescribeResourceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DescribeResourceOutput) GoString() string { return s.String() } // SetResourceInfo sets the ResourceInfo field's value. func (s *DescribeResourceOutput) SetResourceInfo(v *ResourceInfo) *DescribeResourceOutput { s.ResourceInfo = v return s } // A structure containing the additional details to be returned in the AdditionalDetails // attribute of PrincipalResourcePermissions. // // If a catalog resource is shared through AWS Resource Access Manager (AWS // RAM), then there will exist a corresponding RAM share resource ARN. type DetailsMap struct { _ struct{} `type:"structure"` // A share resource ARN for a catalog resource shared through AWS Resource Access // Manager (AWS RAM). ResourceShare []*string `type:"list"` } // String returns the string representation func (s DetailsMap) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DetailsMap) GoString() string { return s.String() } // SetResourceShare sets the ResourceShare field's value. func (s *DetailsMap) SetResourceShare(v []*string) *DetailsMap { s.ResourceShare = v return s } // A specified entity does not exist type EntityNotFoundException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` // A message describing the problem. Message_ *string `locationName:"Message" type:"string"` } // String returns the string representation func (s EntityNotFoundException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s EntityNotFoundException) GoString() string { return s.String() } func newErrorEntityNotFoundException(v protocol.ResponseMetadata) error { return &EntityNotFoundException{ RespMetadata: v, } } // Code returns the exception type name. func (s *EntityNotFoundException) Code() string { return "EntityNotFoundException" } // Message returns the exception's message. func (s *EntityNotFoundException) Message() string { if s.Message_ != nil { return *s.Message_ } return "" } // OrigErr always returns nil, satisfies awserr.Error interface. func (s *EntityNotFoundException) OrigErr() error { return nil } func (s *EntityNotFoundException) Error() string { return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } // Status code returns the HTTP status code for the request's response error. func (s *EntityNotFoundException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. func (s *EntityNotFoundException) RequestID() string { return s.RespMetadata.RequestID } // Contains details about an error. type ErrorDetail struct { _ struct{} `type:"structure"` // The code associated with this error. ErrorCode *string `min:"1" type:"string"` // A message describing the error. ErrorMessage *string `type:"string"` } // String returns the string representation func (s ErrorDetail) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ErrorDetail) GoString() string { return s.String() } // SetErrorCode sets the ErrorCode field's value. func (s *ErrorDetail) SetErrorCode(v string) *ErrorDetail { s.ErrorCode = &v return s } // SetErrorMessage sets the ErrorMessage field's value. func (s *ErrorDetail) SetErrorMessage(v string) *ErrorDetail { s.ErrorMessage = &v return s } // This structure describes the filtering of columns in a table based on a filter // condition. type FilterCondition struct { _ struct{} `type:"structure"` // The comparison operator used in the filter condition. ComparisonOperator *string `type:"string" enum:"ComparisonOperator"` // The field to filter in the filter condition. Field *string `type:"string" enum:"FieldNameString"` // A string with values used in evaluating the filter condition. StringValueList []*string `type:"list"` } // String returns the string representation func (s FilterCondition) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s FilterCondition) GoString() string { return s.String() } // SetComparisonOperator sets the ComparisonOperator field's value. func (s *FilterCondition) SetComparisonOperator(v string) *FilterCondition { s.ComparisonOperator = &v return s } // SetField sets the Field field's value. func (s *FilterCondition) SetField(v string) *FilterCondition { s.Field = &v return s } // SetStringValueList sets the StringValueList field's value. func (s *FilterCondition) SetStringValueList(v []*string) *FilterCondition { s.StringValueList = v return s } type GetDataLakeSettingsInput struct { _ struct{} `type:"structure"` // The identifier for the Data Catalog. By default, the account ID. The Data // Catalog is the persistent metadata store. It contains database definitions, // table definitions, and other control information to manage your AWS Lake // Formation environment. CatalogId *string `min:"1" type:"string"` } // String returns the string representation func (s GetDataLakeSettingsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s GetDataLakeSettingsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GetDataLakeSettingsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GetDataLakeSettingsInput"} if s.CatalogId != nil && len(*s.CatalogId) < 1 { invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetCatalogId sets the CatalogId field's value. func (s *GetDataLakeSettingsInput) SetCatalogId(v string) *GetDataLakeSettingsInput { s.CatalogId = &v return s } type GetDataLakeSettingsOutput struct { _ struct{} `type:"structure"` // A structure representing a list of AWS Lake Formation principals designated // as data lake administrators. DataLakeSettings *DataLakeSettings `type:"structure"` } // String returns the string representation func (s GetDataLakeSettingsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s GetDataLakeSettingsOutput) GoString() string { return s.String() } // SetDataLakeSettings sets the DataLakeSettings field's value. func (s *GetDataLakeSettingsOutput) SetDataLakeSettings(v *DataLakeSettings) *GetDataLakeSettingsOutput { s.DataLakeSettings = v return s } type GetEffectivePermissionsForPathInput struct { _ struct{} `type:"structure"` // The identifier for the Data Catalog. By default, the account ID. The Data // Catalog is the persistent metadata store. It contains database definitions, // table definitions, and other control information to manage your AWS Lake // Formation environment. CatalogId *string `min:"1" type:"string"` // The maximum number of results to return. MaxResults *int64 `min:"1" type:"integer"` // A continuation token, if this is not the first call to retrieve this list. NextToken *string `type:"string"` // The Amazon Resource Name (ARN) of the resource for which you want to get // permissions. // // ResourceArn is a required field ResourceArn *string `type:"string" required:"true"` } // String returns the string representation func (s GetEffectivePermissionsForPathInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s GetEffectivePermissionsForPathInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GetEffectivePermissionsForPathInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GetEffectivePermissionsForPathInput"} if s.CatalogId != nil && len(*s.CatalogId) < 1 { invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) } if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if s.ResourceArn == nil { invalidParams.Add(request.NewErrParamRequired("ResourceArn")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetCatalogId sets the CatalogId field's value. func (s *GetEffectivePermissionsForPathInput) SetCatalogId(v string) *GetEffectivePermissionsForPathInput { s.CatalogId = &v return s } // SetMaxResults sets the MaxResults field's value. func (s *GetEffectivePermissionsForPathInput) SetMaxResults(v int64) *GetEffectivePermissionsForPathInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. func (s *GetEffectivePermissionsForPathInput) SetNextToken(v string) *GetEffectivePermissionsForPathInput { s.NextToken = &v return s } // SetResourceArn sets the ResourceArn field's value. func (s *GetEffectivePermissionsForPathInput) SetResourceArn(v string) *GetEffectivePermissionsForPathInput { s.ResourceArn = &v return s } type GetEffectivePermissionsForPathOutput struct { _ struct{} `type:"structure"` // A continuation token, if this is not the first call to retrieve this list. NextToken *string `type:"string"` // A list of the permissions for the specified table or database resource located // at the path in Amazon S3. Permissions []*PrincipalResourcePermissions `type:"list"` } // String returns the string representation func (s GetEffectivePermissionsForPathOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s GetEffectivePermissionsForPathOutput) GoString() string { return s.String() } // SetNextToken sets the NextToken field's value. func (s *GetEffectivePermissionsForPathOutput) SetNextToken(v string) *GetEffectivePermissionsForPathOutput { s.NextToken = &v return s } // SetPermissions sets the Permissions field's value. func (s *GetEffectivePermissionsForPathOutput) SetPermissions(v []*PrincipalResourcePermissions) *GetEffectivePermissionsForPathOutput { s.Permissions = v return s } type GrantPermissionsInput struct { _ struct{} `type:"structure"` // The identifier for the Data Catalog. By default, the account ID. The Data // Catalog is the persistent metadata store. It contains database definitions, // table definitions, and other control information to manage your AWS Lake // Formation environment. CatalogId *string `min:"1" type:"string"` // The permissions granted to the principal on the resource. AWS Lake Formation // defines privileges to grant and revoke access to metadata in the Data Catalog // and data organized in underlying data storage such as Amazon S3. AWS Lake // Formation requires that each principal be authorized to perform a specific // task on AWS Lake Formation resources. // // Permissions is a required field Permissions []*string `type:"list" required:"true"` // Indicates a list of the granted permissions that the principal may pass to // other users. These permissions may only be a subset of the permissions granted // in the Privileges. PermissionsWithGrantOption []*string `type:"list"` // The principal to be granted the permissions on the resource. Supported principals // are IAM users or IAM roles, and they are defined by their principal type // and their ARN. // // Note that if you define a resource with a particular ARN, then later delete, // and recreate a resource with that same ARN, the resource maintains the permissions // already granted. // // Principal is a required field Principal *DataLakePrincipal `type:"structure" required:"true"` // The resource to which permissions are to be granted. Resources in AWS Lake // Formation are the Data Catalog, databases, and tables. // // Resource is a required field Resource *Resource `type:"structure" required:"true"` } // String returns the string representation func (s GrantPermissionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s GrantPermissionsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GrantPermissionsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GrantPermissionsInput"} if s.CatalogId != nil && len(*s.CatalogId) < 1 { invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) } if s.Permissions == nil { invalidParams.Add(request.NewErrParamRequired("Permissions")) } if s.Principal == nil { invalidParams.Add(request.NewErrParamRequired("Principal")) } if s.Resource == nil { invalidParams.Add(request.NewErrParamRequired("Resource")) } if s.Principal != nil { if err := s.Principal.Validate(); err != nil { invalidParams.AddNested("Principal", err.(request.ErrInvalidParams)) } } if s.Resource != nil { if err := s.Resource.Validate(); err != nil { invalidParams.AddNested("Resource", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetCatalogId sets the CatalogId field's value. func (s *GrantPermissionsInput) SetCatalogId(v string) *GrantPermissionsInput { s.CatalogId = &v return s } // SetPermissions sets the Permissions field's value. func (s *GrantPermissionsInput) SetPermissions(v []*string) *GrantPermissionsInput { s.Permissions = v return s } // SetPermissionsWithGrantOption sets the PermissionsWithGrantOption field's value. func (s *GrantPermissionsInput) SetPermissionsWithGrantOption(v []*string) *GrantPermissionsInput { s.PermissionsWithGrantOption = v return s } // SetPrincipal sets the Principal field's value. func (s *GrantPermissionsInput) SetPrincipal(v *DataLakePrincipal) *GrantPermissionsInput { s.Principal = v return s } // SetResource sets the Resource field's value. func (s *GrantPermissionsInput) SetResource(v *Resource) *GrantPermissionsInput { s.Resource = v return s } type GrantPermissionsOutput struct { _ struct{} `type:"structure"` } // String returns the string representation func (s GrantPermissionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s GrantPermissionsOutput) GoString() string { return s.String() } // An internal service error occurred. type InternalServiceException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` // A message describing the problem. Message_ *string `locationName:"Message" type:"string"` } // String returns the string representation func (s InternalServiceException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s InternalServiceException) GoString() string { return s.String() } func newErrorInternalServiceException(v protocol.ResponseMetadata) error { return &InternalServiceException{ RespMetadata: v, } } // Code returns the exception type name. func (s *InternalServiceException) Code() string { return "InternalServiceException" } // Message returns the exception's message. func (s *InternalServiceException) Message() string { if s.Message_ != nil { return *s.Message_ } return "" } // OrigErr always returns nil, satisfies awserr.Error interface. func (s *InternalServiceException) OrigErr() error { return nil } func (s *InternalServiceException) Error() string { return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } // Status code returns the HTTP status code for the request's response error. func (s *InternalServiceException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. func (s *InternalServiceException) RequestID() string { return s.RespMetadata.RequestID } // The input provided was not valid. type InvalidInputException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` // A message describing the problem. Message_ *string `locationName:"Message" type:"string"` } // String returns the string representation func (s InvalidInputException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s InvalidInputException) GoString() string { return s.String() } func newErrorInvalidInputException(v protocol.ResponseMetadata) error { return &InvalidInputException{ RespMetadata: v, } } // Code returns the exception type name. func (s *InvalidInputException) Code() string { return "InvalidInputException" } // Message returns the exception's message. func (s *InvalidInputException) Message() string { if s.Message_ != nil { return *s.Message_ } return "" } // OrigErr always returns nil, satisfies awserr.Error interface. func (s *InvalidInputException) OrigErr() error { return nil } func (s *InvalidInputException) Error() string { return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } // Status code returns the HTTP status code for the request's response error. func (s *InvalidInputException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. func (s *InvalidInputException) RequestID() string { return s.RespMetadata.RequestID } type ListPermissionsInput struct { _ struct{} `type:"structure"` // The identifier for the Data Catalog. By default, the account ID. The Data // Catalog is the persistent metadata store. It contains database definitions, // table definitions, and other control information to manage your AWS Lake // Formation environment. CatalogId *string `min:"1" type:"string"` // The maximum number of results to return. MaxResults *int64 `min:"1" type:"integer"` // A continuation token, if this is not the first call to retrieve this list. NextToken *string `type:"string"` // Specifies a principal to filter the permissions returned. Principal *DataLakePrincipal `type:"structure"` // A resource where you will get a list of the principal permissions. // // This operation does not support getting privileges on a table with columns. // Instead, call this operation on the table, and the operation returns the // table and the table w columns. Resource *Resource `type:"structure"` // Specifies a resource type to filter the permissions returned. ResourceType *string `type:"string" enum:"DataLakeResourceType"` } // String returns the string representation func (s ListPermissionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ListPermissionsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ListPermissionsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListPermissionsInput"} if s.CatalogId != nil && len(*s.CatalogId) < 1 { invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) } if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if s.Principal != nil { if err := s.Principal.Validate(); err != nil { invalidParams.AddNested("Principal", err.(request.ErrInvalidParams)) } } if s.Resource != nil { if err := s.Resource.Validate(); err != nil { invalidParams.AddNested("Resource", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetCatalogId sets the CatalogId field's value. func (s *ListPermissionsInput) SetCatalogId(v string) *ListPermissionsInput { s.CatalogId = &v return s } // SetMaxResults sets the MaxResults field's value. func (s *ListPermissionsInput) SetMaxResults(v int64) *ListPermissionsInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. func (s *ListPermissionsInput) SetNextToken(v string) *ListPermissionsInput { s.NextToken = &v return s } // SetPrincipal sets the Principal field's value. func (s *ListPermissionsInput) SetPrincipal(v *DataLakePrincipal) *ListPermissionsInput { s.Principal = v return s } // SetResource sets the Resource field's value. func (s *ListPermissionsInput) SetResource(v *Resource) *ListPermissionsInput { s.Resource = v return s } // SetResourceType sets the ResourceType field's value. func (s *ListPermissionsInput) SetResourceType(v string) *ListPermissionsInput { s.ResourceType = &v return s } type ListPermissionsOutput struct { _ struct{} `type:"structure"` // A continuation token, if this is not the first call to retrieve this list. NextToken *string `type:"string"` // A list of principals and their permissions on the resource for the specified // principal and resource types. PrincipalResourcePermissions []*PrincipalResourcePermissions `type:"list"` } // String returns the string representation func (s ListPermissionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ListPermissionsOutput) GoString() string { return s.String() } // SetNextToken sets the NextToken field's value. func (s *ListPermissionsOutput) SetNextToken(v string) *ListPermissionsOutput { s.NextToken = &v return s } // SetPrincipalResourcePermissions sets the PrincipalResourcePermissions field's value. func (s *ListPermissionsOutput) SetPrincipalResourcePermissions(v []*PrincipalResourcePermissions) *ListPermissionsOutput { s.PrincipalResourcePermissions = v return s } type ListResourcesInput struct { _ struct{} `type:"structure"` // Any applicable row-level and/or column-level filtering conditions for the // resources. FilterConditionList []*FilterCondition `min:"1" type:"list"` // The maximum number of resource results. MaxResults *int64 `min:"1" type:"integer"` // A continuation token, if this is not the first call to retrieve these resources. NextToken *string `type:"string"` } // String returns the string representation func (s ListResourcesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ListResourcesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ListResourcesInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListResourcesInput"} if s.FilterConditionList != nil && len(s.FilterConditionList) < 1 { invalidParams.Add(request.NewErrParamMinLen("FilterConditionList", 1)) } if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetFilterConditionList sets the FilterConditionList field's value. func (s *ListResourcesInput) SetFilterConditionList(v []*FilterCondition) *ListResourcesInput { s.FilterConditionList = v return s } // SetMaxResults sets the MaxResults field's value. func (s *ListResourcesInput) SetMaxResults(v int64) *ListResourcesInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. func (s *ListResourcesInput) SetNextToken(v string) *ListResourcesInput { s.NextToken = &v return s } type ListResourcesOutput struct { _ struct{} `type:"structure"` // A continuation token, if this is not the first call to retrieve these resources. NextToken *string `type:"string"` // A summary of the data lake resources. ResourceInfoList []*ResourceInfo `type:"list"` } // String returns the string representation func (s ListResourcesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ListResourcesOutput) GoString() string { return s.String() } // SetNextToken sets the NextToken field's value. func (s *ListResourcesOutput) SetNextToken(v string) *ListResourcesOutput { s.NextToken = &v return s } // SetResourceInfoList sets the ResourceInfoList field's value. func (s *ListResourcesOutput) SetResourceInfoList(v []*ResourceInfo) *ListResourcesOutput { s.ResourceInfoList = v return s } // The operation timed out. type OperationTimeoutException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` // A message describing the problem. Message_ *string `locationName:"Message" type:"string"` } // String returns the string representation func (s OperationTimeoutException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s OperationTimeoutException) GoString() string { return s.String() } func newErrorOperationTimeoutException(v protocol.ResponseMetadata) error { return &OperationTimeoutException{ RespMetadata: v, } } // Code returns the exception type name. func (s *OperationTimeoutException) Code() string { return "OperationTimeoutException" } // Message returns the exception's message. func (s *OperationTimeoutException) Message() string { if s.Message_ != nil { return *s.Message_ } return "" } // OrigErr always returns nil, satisfies awserr.Error interface. func (s *OperationTimeoutException) OrigErr() error { return nil } func (s *OperationTimeoutException) Error() string { return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } // Status code returns the HTTP status code for the request's response error. func (s *OperationTimeoutException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. func (s *OperationTimeoutException) RequestID() string { return s.RespMetadata.RequestID } // Permissions granted to a principal. type PrincipalPermissions struct { _ struct{} `type:"structure"` // The permissions that are granted to the principal. Permissions []*string `type:"list"` // The principal who is granted permissions. Principal *DataLakePrincipal `type:"structure"` } // String returns the string representation func (s PrincipalPermissions) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s PrincipalPermissions) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *PrincipalPermissions) Validate() error { invalidParams := request.ErrInvalidParams{Context: "PrincipalPermissions"} if s.Principal != nil { if err := s.Principal.Validate(); err != nil { invalidParams.AddNested("Principal", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetPermissions sets the Permissions field's value. func (s *PrincipalPermissions) SetPermissions(v []*string) *PrincipalPermissions { s.Permissions = v return s } // SetPrincipal sets the Principal field's value. func (s *PrincipalPermissions) SetPrincipal(v *DataLakePrincipal) *PrincipalPermissions { s.Principal = v return s } // The permissions granted or revoked on a resource. type PrincipalResourcePermissions struct { _ struct{} `type:"structure"` // This attribute can be used to return any additional details of PrincipalResourcePermissions. // Currently returns only as a RAM share resource ARN. AdditionalDetails *DetailsMap `type:"structure"` // The permissions to be granted or revoked on the resource. Permissions []*string `type:"list"` // Indicates whether to grant the ability to grant permissions (as a subset // of permissions granted). PermissionsWithGrantOption []*string `type:"list"` // The Data Lake principal to be granted or revoked permissions. Principal *DataLakePrincipal `type:"structure"` // The resource where permissions are to be granted or revoked. Resource *Resource `type:"structure"` } // String returns the string representation func (s PrincipalResourcePermissions) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s PrincipalResourcePermissions) GoString() string { return s.String() } // SetAdditionalDetails sets the AdditionalDetails field's value. func (s *PrincipalResourcePermissions) SetAdditionalDetails(v *DetailsMap) *PrincipalResourcePermissions { s.AdditionalDetails = v return s } // SetPermissions sets the Permissions field's value. func (s *PrincipalResourcePermissions) SetPermissions(v []*string) *PrincipalResourcePermissions { s.Permissions = v return s } // SetPermissionsWithGrantOption sets the PermissionsWithGrantOption field's value. func (s *PrincipalResourcePermissions) SetPermissionsWithGrantOption(v []*string) *PrincipalResourcePermissions { s.PermissionsWithGrantOption = v return s } // SetPrincipal sets the Principal field's value. func (s *PrincipalResourcePermissions) SetPrincipal(v *DataLakePrincipal) *PrincipalResourcePermissions { s.Principal = v return s } // SetResource sets the Resource field's value. func (s *PrincipalResourcePermissions) SetResource(v *Resource) *PrincipalResourcePermissions { s.Resource = v return s } type PutDataLakeSettingsInput struct { _ struct{} `type:"structure"` // The identifier for the Data Catalog. By default, the account ID. The Data // Catalog is the persistent metadata store. It contains database definitions, // table definitions, and other control information to manage your AWS Lake // Formation environment. CatalogId *string `min:"1" type:"string"` // A structure representing a list of AWS Lake Formation principals designated // as data lake administrators. // // DataLakeSettings is a required field DataLakeSettings *DataLakeSettings `type:"structure" required:"true"` } // String returns the string representation func (s PutDataLakeSettingsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s PutDataLakeSettingsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *PutDataLakeSettingsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "PutDataLakeSettingsInput"} if s.CatalogId != nil && len(*s.CatalogId) < 1 { invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) } if s.DataLakeSettings == nil { invalidParams.Add(request.NewErrParamRequired("DataLakeSettings")) } if s.DataLakeSettings != nil { if err := s.DataLakeSettings.Validate(); err != nil { invalidParams.AddNested("DataLakeSettings", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetCatalogId sets the CatalogId field's value. func (s *PutDataLakeSettingsInput) SetCatalogId(v string) *PutDataLakeSettingsInput { s.CatalogId = &v return s } // SetDataLakeSettings sets the DataLakeSettings field's value. func (s *PutDataLakeSettingsInput) SetDataLakeSettings(v *DataLakeSettings) *PutDataLakeSettingsInput { s.DataLakeSettings = v return s } type PutDataLakeSettingsOutput struct { _ struct{} `type:"structure"` } // String returns the string representation func (s PutDataLakeSettingsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s PutDataLakeSettingsOutput) GoString() string { return s.String() } type RegisterResourceInput struct { _ struct{} `type:"structure"` // The Amazon Resource Name (ARN) of the resource that you want to register. // // ResourceArn is a required field ResourceArn *string `type:"string" required:"true"` // The identifier for the role that registers the resource. RoleArn *string `type:"string"` // Designates an AWS Identity and Access Management (IAM) service-linked role // by registering this role with the Data Catalog. A service-linked role is // a unique type of IAM role that is linked directly to Lake Formation. // // For more information, see Using Service-Linked Roles for Lake Formation (https://docs-aws.amazon.com/lake-formation/latest/dg/service-linked-roles.html). UseServiceLinkedRole *bool `type:"boolean"` } // String returns the string representation func (s RegisterResourceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s RegisterResourceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *RegisterResourceInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "RegisterResourceInput"} if s.ResourceArn == nil { invalidParams.Add(request.NewErrParamRequired("ResourceArn")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetResourceArn sets the ResourceArn field's value. func (s *RegisterResourceInput) SetResourceArn(v string) *RegisterResourceInput { s.ResourceArn = &v return s } // SetRoleArn sets the RoleArn field's value. func (s *RegisterResourceInput) SetRoleArn(v string) *RegisterResourceInput { s.RoleArn = &v return s } // SetUseServiceLinkedRole sets the UseServiceLinkedRole field's value. func (s *RegisterResourceInput) SetUseServiceLinkedRole(v bool) *RegisterResourceInput { s.UseServiceLinkedRole = &v return s } type RegisterResourceOutput struct { _ struct{} `type:"structure"` } // String returns the string representation func (s RegisterResourceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s RegisterResourceOutput) GoString() string { return s.String() } // A structure for the resource. type Resource struct { _ struct{} `type:"structure"` // The identifier for the Data Catalog. By default, the account ID. The Data // Catalog is the persistent metadata store. It contains database definitions, // table definitions, and other control information to manage your AWS Lake // Formation environment. Catalog *CatalogResource `type:"structure"` // The location of an Amazon S3 path where permissions are granted or revoked. DataLocation *DataLocationResource `type:"structure"` // The database for the resource. Unique to the Data Catalog. A database is // a set of associated table definitions organized into a logical group. You // can Grant and Revoke database permissions to a principal. Database *DatabaseResource `type:"structure"` // The table for the resource. A table is a metadata definition that represents // your data. You can Grant and Revoke table privileges to a principal. Table *TableResource `type:"structure"` // The table with columns for the resource. A principal with permissions to // this resource can select metadata from the columns of a table in the Data // Catalog and the underlying data in Amazon S3. TableWithColumns *TableWithColumnsResource `type:"structure"` } // String returns the string representation func (s Resource) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s Resource) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *Resource) Validate() error { invalidParams := request.ErrInvalidParams{Context: "Resource"} if s.DataLocation != nil { if err := s.DataLocation.Validate(); err != nil { invalidParams.AddNested("DataLocation", err.(request.ErrInvalidParams)) } } if s.Database != nil { if err := s.Database.Validate(); err != nil { invalidParams.AddNested("Database", err.(request.ErrInvalidParams)) } } if s.Table != nil { if err := s.Table.Validate(); err != nil { invalidParams.AddNested("Table", err.(request.ErrInvalidParams)) } } if s.TableWithColumns != nil { if err := s.TableWithColumns.Validate(); err != nil { invalidParams.AddNested("TableWithColumns", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetCatalog sets the Catalog field's value. func (s *Resource) SetCatalog(v *CatalogResource) *Resource { s.Catalog = v return s } // SetDataLocation sets the DataLocation field's value. func (s *Resource) SetDataLocation(v *DataLocationResource) *Resource { s.DataLocation = v return s } // SetDatabase sets the Database field's value. func (s *Resource) SetDatabase(v *DatabaseResource) *Resource { s.Database = v return s } // SetTable sets the Table field's value. func (s *Resource) SetTable(v *TableResource) *Resource { s.Table = v return s } // SetTableWithColumns sets the TableWithColumns field's value. func (s *Resource) SetTableWithColumns(v *TableWithColumnsResource) *Resource { s.TableWithColumns = v return s } // A structure containing information about an AWS Lake Formation resource. type ResourceInfo struct { _ struct{} `type:"structure"` // The date and time the resource was last modified. LastModified *time.Time `type:"timestamp"` // The Amazon Resource Name (ARN) of the resource. ResourceArn *string `type:"string"` // The IAM role that registered a resource. RoleArn *string `type:"string"` } // String returns the string representation func (s ResourceInfo) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ResourceInfo) GoString() string { return s.String() } // SetLastModified sets the LastModified field's value. func (s *ResourceInfo) SetLastModified(v time.Time) *ResourceInfo { s.LastModified = &v return s } // SetResourceArn sets the ResourceArn field's value. func (s *ResourceInfo) SetResourceArn(v string) *ResourceInfo { s.ResourceArn = &v return s } // SetRoleArn sets the RoleArn field's value. func (s *ResourceInfo) SetRoleArn(v string) *ResourceInfo { s.RoleArn = &v return s } type RevokePermissionsInput struct { _ struct{} `type:"structure"` // The identifier for the Data Catalog. By default, the account ID. The Data // Catalog is the persistent metadata store. It contains database definitions, // table definitions, and other control information to manage your AWS Lake // Formation environment. CatalogId *string `min:"1" type:"string"` // The permissions revoked to the principal on the resource. For information // about permissions, see Security and Access Control to Metadata and Data (https://docs-aws.amazon.com/lake-formation/latest/dg/security-data-access.html). // // Permissions is a required field Permissions []*string `type:"list" required:"true"` // Indicates a list of permissions for which to revoke the grant option allowing // the principal to pass permissions to other principals. PermissionsWithGrantOption []*string `type:"list"` // The principal to be revoked permissions on the resource. // // Principal is a required field Principal *DataLakePrincipal `type:"structure" required:"true"` // The resource to which permissions are to be revoked. // // Resource is a required field Resource *Resource `type:"structure" required:"true"` } // String returns the string representation func (s RevokePermissionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s RevokePermissionsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *RevokePermissionsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "RevokePermissionsInput"} if s.CatalogId != nil && len(*s.CatalogId) < 1 { invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) } if s.Permissions == nil { invalidParams.Add(request.NewErrParamRequired("Permissions")) } if s.Principal == nil { invalidParams.Add(request.NewErrParamRequired("Principal")) } if s.Resource == nil { invalidParams.Add(request.NewErrParamRequired("Resource")) } if s.Principal != nil { if err := s.Principal.Validate(); err != nil { invalidParams.AddNested("Principal", err.(request.ErrInvalidParams)) } } if s.Resource != nil { if err := s.Resource.Validate(); err != nil { invalidParams.AddNested("Resource", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetCatalogId sets the CatalogId field's value. func (s *RevokePermissionsInput) SetCatalogId(v string) *RevokePermissionsInput { s.CatalogId = &v return s } // SetPermissions sets the Permissions field's value. func (s *RevokePermissionsInput) SetPermissions(v []*string) *RevokePermissionsInput { s.Permissions = v return s } // SetPermissionsWithGrantOption sets the PermissionsWithGrantOption field's value. func (s *RevokePermissionsInput) SetPermissionsWithGrantOption(v []*string) *RevokePermissionsInput { s.PermissionsWithGrantOption = v return s } // SetPrincipal sets the Principal field's value. func (s *RevokePermissionsInput) SetPrincipal(v *DataLakePrincipal) *RevokePermissionsInput { s.Principal = v return s } // SetResource sets the Resource field's value. func (s *RevokePermissionsInput) SetResource(v *Resource) *RevokePermissionsInput { s.Resource = v return s } type RevokePermissionsOutput struct { _ struct{} `type:"structure"` } // String returns the string representation func (s RevokePermissionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s RevokePermissionsOutput) GoString() string { return s.String() } // A structure for the table object. A table is a metadata definition that represents // your data. You can Grant and Revoke table privileges to a principal. type TableResource struct { _ struct{} `type:"structure"` // The identifier for the Data Catalog. By default, it is the account ID of // the caller. CatalogId *string `min:"1" type:"string"` // The name of the database for the table. Unique to a Data Catalog. A database // is a set of associated table definitions organized into a logical group. // You can Grant and Revoke database privileges to a principal. // // DatabaseName is a required field DatabaseName *string `min:"1" type:"string" required:"true"` // The name of the table. Name *string `min:"1" type:"string"` // A wildcard object representing every table under a database. // // At least one of TableResource$Name or TableResource$TableWildcard is required. TableWildcard *TableWildcard `type:"structure"` } // String returns the string representation func (s TableResource) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s TableResource) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *TableResource) Validate() error { invalidParams := request.ErrInvalidParams{Context: "TableResource"} if s.CatalogId != nil && len(*s.CatalogId) < 1 { invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) } if s.DatabaseName == nil { invalidParams.Add(request.NewErrParamRequired("DatabaseName")) } if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) } if s.Name != nil && len(*s.Name) < 1 { invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetCatalogId sets the CatalogId field's value. func (s *TableResource) SetCatalogId(v string) *TableResource { s.CatalogId = &v return s } // SetDatabaseName sets the DatabaseName field's value. func (s *TableResource) SetDatabaseName(v string) *TableResource { s.DatabaseName = &v return s } // SetName sets the Name field's value. func (s *TableResource) SetName(v string) *TableResource { s.Name = &v return s } // SetTableWildcard sets the TableWildcard field's value. func (s *TableResource) SetTableWildcard(v *TableWildcard) *TableResource { s.TableWildcard = v return s } // A wildcard object representing every table under a database. type TableWildcard struct { _ struct{} `type:"structure"` } // String returns the string representation func (s TableWildcard) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s TableWildcard) GoString() string { return s.String() } // A structure for a table with columns object. This object is only used when // granting a SELECT permission. // // This object must take a value for at least one of ColumnsNames, ColumnsIndexes, // or ColumnsWildcard. type TableWithColumnsResource struct { _ struct{} `type:"structure"` // The identifier for the Data Catalog. By default, it is the account ID of // the caller. CatalogId *string `min:"1" type:"string"` // The list of column names for the table. At least one of ColumnNames or ColumnWildcard // is required. ColumnNames []*string `type:"list"` // A wildcard specified by a ColumnWildcard object. At least one of ColumnNames // or ColumnWildcard is required. ColumnWildcard *ColumnWildcard `type:"structure"` // The name of the database for the table with columns resource. Unique to the // Data Catalog. A database is a set of associated table definitions organized // into a logical group. You can Grant and Revoke database privileges to a principal. // // DatabaseName is a required field DatabaseName *string `min:"1" type:"string" required:"true"` // The name of the table resource. A table is a metadata definition that represents // your data. You can Grant and Revoke table privileges to a principal. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` } // String returns the string representation func (s TableWithColumnsResource) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s TableWithColumnsResource) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *TableWithColumnsResource) Validate() error { invalidParams := request.ErrInvalidParams{Context: "TableWithColumnsResource"} if s.CatalogId != nil && len(*s.CatalogId) < 1 { invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) } if s.DatabaseName == nil { invalidParams.Add(request.NewErrParamRequired("DatabaseName")) } if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) } if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } if s.Name != nil && len(*s.Name) < 1 { invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetCatalogId sets the CatalogId field's value. func (s *TableWithColumnsResource) SetCatalogId(v string) *TableWithColumnsResource { s.CatalogId = &v return s } // SetColumnNames sets the ColumnNames field's value. func (s *TableWithColumnsResource) SetColumnNames(v []*string) *TableWithColumnsResource { s.ColumnNames = v return s } // SetColumnWildcard sets the ColumnWildcard field's value. func (s *TableWithColumnsResource) SetColumnWildcard(v *ColumnWildcard) *TableWithColumnsResource { s.ColumnWildcard = v return s } // SetDatabaseName sets the DatabaseName field's value. func (s *TableWithColumnsResource) SetDatabaseName(v string) *TableWithColumnsResource { s.DatabaseName = &v return s } // SetName sets the Name field's value. func (s *TableWithColumnsResource) SetName(v string) *TableWithColumnsResource { s.Name = &v return s } type UpdateResourceInput struct { _ struct{} `type:"structure"` // The resource ARN. // // ResourceArn is a required field ResourceArn *string `type:"string" required:"true"` // The new role to use for the given resource registered in AWS Lake Formation. // // RoleArn is a required field RoleArn *string `type:"string" required:"true"` } // String returns the string representation func (s UpdateResourceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s UpdateResourceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *UpdateResourceInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "UpdateResourceInput"} if s.ResourceArn == nil { invalidParams.Add(request.NewErrParamRequired("ResourceArn")) } if s.RoleArn == nil { invalidParams.Add(request.NewErrParamRequired("RoleArn")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetResourceArn sets the ResourceArn field's value. func (s *UpdateResourceInput) SetResourceArn(v string) *UpdateResourceInput { s.ResourceArn = &v return s } // SetRoleArn sets the RoleArn field's value. func (s *UpdateResourceInput) SetRoleArn(v string) *UpdateResourceInput { s.RoleArn = &v return s } type UpdateResourceOutput struct { _ struct{} `type:"structure"` } // String returns the string representation func (s UpdateResourceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s UpdateResourceOutput) GoString() string { return s.String() } const ( // ComparisonOperatorEq is a ComparisonOperator enum value ComparisonOperatorEq = "EQ" // ComparisonOperatorNe is a ComparisonOperator enum value ComparisonOperatorNe = "NE" // ComparisonOperatorLe is a ComparisonOperator enum value ComparisonOperatorLe = "LE" // ComparisonOperatorLt is a ComparisonOperator enum value ComparisonOperatorLt = "LT" // ComparisonOperatorGe is a ComparisonOperator enum value ComparisonOperatorGe = "GE" // ComparisonOperatorGt is a ComparisonOperator enum value ComparisonOperatorGt = "GT" // ComparisonOperatorContains is a ComparisonOperator enum value ComparisonOperatorContains = "CONTAINS" // ComparisonOperatorNotContains is a ComparisonOperator enum value ComparisonOperatorNotContains = "NOT_CONTAINS" // ComparisonOperatorBeginsWith is a ComparisonOperator enum value ComparisonOperatorBeginsWith = "BEGINS_WITH" // ComparisonOperatorIn is a ComparisonOperator enum value ComparisonOperatorIn = "IN" // ComparisonOperatorBetween is a ComparisonOperator enum value ComparisonOperatorBetween = "BETWEEN" ) // ComparisonOperator_Values returns all elements of the ComparisonOperator enum func ComparisonOperator_Values() []string { return []string{ ComparisonOperatorEq, ComparisonOperatorNe, ComparisonOperatorLe, ComparisonOperatorLt, ComparisonOperatorGe, ComparisonOperatorGt, ComparisonOperatorContains, ComparisonOperatorNotContains, ComparisonOperatorBeginsWith, ComparisonOperatorIn, ComparisonOperatorBetween, } } const ( // DataLakeResourceTypeCatalog is a DataLakeResourceType enum value DataLakeResourceTypeCatalog = "CATALOG" // DataLakeResourceTypeDatabase is a DataLakeResourceType enum value DataLakeResourceTypeDatabase = "DATABASE" // DataLakeResourceTypeTable is a DataLakeResourceType enum value DataLakeResourceTypeTable = "TABLE" // DataLakeResourceTypeDataLocation is a DataLakeResourceType enum value DataLakeResourceTypeDataLocation = "DATA_LOCATION" ) // DataLakeResourceType_Values returns all elements of the DataLakeResourceType enum func DataLakeResourceType_Values() []string { return []string{ DataLakeResourceTypeCatalog, DataLakeResourceTypeDatabase, DataLakeResourceTypeTable, DataLakeResourceTypeDataLocation, } } const ( // FieldNameStringResourceArn is a FieldNameString enum value FieldNameStringResourceArn = "RESOURCE_ARN" // FieldNameStringRoleArn is a FieldNameString enum value FieldNameStringRoleArn = "ROLE_ARN" // FieldNameStringLastModified is a FieldNameString enum value FieldNameStringLastModified = "LAST_MODIFIED" ) // FieldNameString_Values returns all elements of the FieldNameString enum func FieldNameString_Values() []string { return []string{ FieldNameStringResourceArn, FieldNameStringRoleArn, FieldNameStringLastModified, } } const ( // PermissionAll is a Permission enum value PermissionAll = "ALL" // PermissionSelect is a Permission enum value PermissionSelect = "SELECT" // PermissionAlter is a Permission enum value PermissionAlter = "ALTER" // PermissionDrop is a Permission enum value PermissionDrop = "DROP" // PermissionDelete is a Permission enum value PermissionDelete = "DELETE" // PermissionInsert is a Permission enum value PermissionInsert = "INSERT" // PermissionDescribe is a Permission enum value PermissionDescribe = "DESCRIBE" // PermissionCreateDatabase is a Permission enum value PermissionCreateDatabase = "CREATE_DATABASE" // PermissionCreateTable is a Permission enum value PermissionCreateTable = "CREATE_TABLE" // PermissionDataLocationAccess is a Permission enum value PermissionDataLocationAccess = "DATA_LOCATION_ACCESS" ) // Permission_Values returns all elements of the Permission enum func Permission_Values() []string { return []string{ PermissionAll, PermissionSelect, PermissionAlter, PermissionDrop, PermissionDelete, PermissionInsert, PermissionDescribe, PermissionCreateDatabase, PermissionCreateTable, PermissionDataLocationAccess, } }