Skip to content

Commit ddc9790

Browse files
author
AWS
committed
AWS Glue Update: AWS Glue Data Catalog supports cross account sharing of tables through AWS Lake Formation
1 parent e08735d commit ddc9790

File tree

2 files changed

+178
-3
lines changed

2 files changed

+178
-3
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"type": "feature",
3+
"category": "AWS Glue",
4+
"description": "AWS Glue Data Catalog supports cross account sharing of tables through AWS Lake Formation"
5+
}

services/glue/src/main/resources/codegen-resources/service-2.json

Lines changed: 173 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1189,6 +1189,22 @@
11891189
],
11901190
"documentation":"<p>Gets code to perform a specified mapping.</p>"
11911191
},
1192+
"GetResourcePolicies":{
1193+
"name":"GetResourcePolicies",
1194+
"http":{
1195+
"method":"POST",
1196+
"requestUri":"/"
1197+
},
1198+
"input":{"shape":"GetResourcePoliciesRequest"},
1199+
"output":{"shape":"GetResourcePoliciesResponse"},
1200+
"errors":[
1201+
{"shape":"InternalServiceException"},
1202+
{"shape":"OperationTimeoutException"},
1203+
{"shape":"InvalidInputException"},
1204+
{"shape":"GlueEncryptionException"}
1205+
],
1206+
"documentation":"<p>Retrieves the security configurations for the resource policies set on individual resources, and also the account-level policy.</p>"
1207+
},
11921208
"GetResourcePolicy":{
11931209
"name":"GetResourcePolicy",
11941210
"http":{
@@ -3211,7 +3227,7 @@
32113227
},
32123228
"ConnectionType":{
32133229
"shape":"ConnectionType",
3214-
"documentation":"<p>The type of the connection. Currently, only JDBC is supported; SFTP is not supported.</p>"
3230+
"documentation":"<p>The type of the connection. Currently, SFTP is not supported.</p>"
32153231
},
32163232
"MatchCriteria":{
32173233
"shape":"MatchCriteria",
@@ -4508,10 +4524,32 @@
45084524
"CreateTableDefaultPermissions":{
45094525
"shape":"PrincipalPermissionsList",
45104526
"documentation":"<p>Creates a set of default permissions on the table for principals. </p>"
4527+
},
4528+
"TargetDatabase":{
4529+
"shape":"DatabaseIdentifier",
4530+
"documentation":"<p>A <code>DatabaseIdentifier</code> structure that describes a target database for resource linking.</p>"
4531+
},
4532+
"CatalogId":{
4533+
"shape":"CatalogIdString",
4534+
"documentation":"<p>The ID of the Data Catalog in which the database resides.</p>"
45114535
}
45124536
},
45134537
"documentation":"<p>The <code>Database</code> object represents a logical grouping of tables that might reside in a Hive metastore or an RDBMS.</p>"
45144538
},
4539+
"DatabaseIdentifier":{
4540+
"type":"structure",
4541+
"members":{
4542+
"CatalogId":{
4543+
"shape":"CatalogIdString",
4544+
"documentation":"<p>The ID of the Data Catalog in which the database resides.</p>"
4545+
},
4546+
"DatabaseName":{
4547+
"shape":"NameString",
4548+
"documentation":"<p>The name of the catalog database.</p>"
4549+
}
4550+
},
4551+
"documentation":"<p>A structure that describes a target database for resource linking.</p>"
4552+
},
45154553
"DatabaseInput":{
45164554
"type":"structure",
45174555
"required":["Name"],
@@ -4535,6 +4573,10 @@
45354573
"CreateTableDefaultPermissions":{
45364574
"shape":"PrincipalPermissionsList",
45374575
"documentation":"<p>Creates a set of default permissions on the table for principals. </p>"
4576+
},
4577+
"TargetDatabase":{
4578+
"shape":"DatabaseIdentifier",
4579+
"documentation":"<p>A <code>DatabaseIdentifier</code> structure that describes a target database for resource linking.</p>"
45384580
}
45394581
},
45404582
"documentation":"<p>The structure used to create or update a database.</p>"
@@ -4853,6 +4895,10 @@
48534895
"PolicyHashCondition":{
48544896
"shape":"HashString",
48554897
"documentation":"<p>The hash value returned when this policy was set.</p>"
4898+
},
4899+
"ResourceArn":{
4900+
"shape":"GlueResourceArn",
4901+
"documentation":"<p>The ARN of the AWS Glue resource for the resource policy to be deleted.</p>"
48564902
}
48574903
}
48584904
},
@@ -5210,6 +5256,13 @@
52105256
"type":"list",
52115257
"member":{"shape":"Edge"}
52125258
},
5259+
"EnableHybridValues":{
5260+
"type":"string",
5261+
"enum":[
5262+
"TRUE",
5263+
"FALSE"
5264+
]
5265+
},
52135266
"EncryptionAtRest":{
52145267
"type":"structure",
52155268
"required":["CatalogEncryptionMode"],
@@ -5596,7 +5649,7 @@
55965649
},
55975650
"ConnectionType":{
55985651
"shape":"ConnectionType",
5599-
"documentation":"<p>The type of connections to return. Currently, only JDBC is supported; SFTP is not supported.</p>"
5652+
"documentation":"<p>The type of connections to return. Currently, SFTP is not supported.</p>"
56005653
}
56015654
},
56025655
"documentation":"<p>Filters the connection definitions that are returned by the <code>GetConnections</code> API operation.</p>"
@@ -5769,6 +5822,10 @@
57695822
"MaxResults":{
57705823
"shape":"PageSize",
57715824
"documentation":"<p>The maximum number of databases to return in one response.</p>"
5825+
},
5826+
"ResourceShareType":{
5827+
"shape":"ResourceShareType",
5828+
"documentation":"<p>Allows you to specify that you want to list the databases shared with your account. The allowable values are <code>FOREIGN</code> or <code>ALL</code>. </p> <ul> <li> <p>If set to <code>FOREIGN</code>, will list the databases shared with your account. </p> </li> <li> <p>If set to <code>ALL</code>, will list the databases shared with your account, as well as the databases in yor local account. </p> </li> </ul>"
57725829
}
57735830
}
57745831
},
@@ -6360,9 +6417,43 @@
63606417
}
63616418
}
63626419
},
6420+
"GetResourcePoliciesRequest":{
6421+
"type":"structure",
6422+
"members":{
6423+
"NextToken":{
6424+
"shape":"Token",
6425+
"documentation":"<p>A continuation token, if this is a continuation request.</p>"
6426+
},
6427+
"MaxResults":{
6428+
"shape":"PageSize",
6429+
"documentation":"<p>The maximum size of a list to return.</p>"
6430+
}
6431+
}
6432+
},
6433+
"GetResourcePoliciesResponse":{
6434+
"type":"structure",
6435+
"members":{
6436+
"GetResourcePoliciesResponseList":{
6437+
"shape":"GetResourcePoliciesResponseList",
6438+
"documentation":"<p>A list of the individual resource policies and the account-level resource policy.</p>"
6439+
},
6440+
"NextToken":{
6441+
"shape":"Token",
6442+
"documentation":"<p>A continuation token, if the returned list does not contain the last resource policy available.</p>"
6443+
}
6444+
}
6445+
},
6446+
"GetResourcePoliciesResponseList":{
6447+
"type":"list",
6448+
"member":{"shape":"GluePolicy"}
6449+
},
63636450
"GetResourcePolicyRequest":{
63646451
"type":"structure",
63656452
"members":{
6453+
"ResourceArn":{
6454+
"shape":"GlueResourceArn",
6455+
"documentation":"<p>The ARN of the AWS Glue resource for the resource policy to be retrieved. For more information about AWS Glue resource ARNs, see the <a href=\"https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-common.html#aws-glue-api-regex-aws-glue-arn-id\">AWS Glue ARN string pattern</a> </p>"
6456+
}
63666457
}
63676458
},
63686459
"GetResourcePolicyResponse":{
@@ -6842,6 +6933,28 @@
68426933
"documentation":"<p>An encryption operation failed.</p>",
68436934
"exception":true
68446935
},
6936+
"GluePolicy":{
6937+
"type":"structure",
6938+
"members":{
6939+
"PolicyInJson":{
6940+
"shape":"PolicyJsonString",
6941+
"documentation":"<p>Contains the requested policy document, in JSON format.</p>"
6942+
},
6943+
"PolicyHash":{
6944+
"shape":"HashString",
6945+
"documentation":"<p>Contains the hash value associated with this policy.</p>"
6946+
},
6947+
"CreateTime":{
6948+
"shape":"Timestamp",
6949+
"documentation":"<p>The date and time at which the policy was created.</p>"
6950+
},
6951+
"UpdateTime":{
6952+
"shape":"Timestamp",
6953+
"documentation":"<p>The date and time at which the policy was last updated.</p>"
6954+
}
6955+
},
6956+
"documentation":"<p>A structure for returning a resource policy.</p>"
6957+
},
68456958
"GlueResourceArn":{
68466959
"type":"string",
68476960
"max":10240,
@@ -8113,6 +8226,10 @@
81138226
"LastAnalyzedTime":{
81148227
"shape":"Timestamp",
81158228
"documentation":"<p>The last time at which column statistics were computed for this partition.</p>"
8229+
},
8230+
"CatalogId":{
8231+
"shape":"CatalogIdString",
8232+
"documentation":"<p>The ID of the Data Catalog in which the partition resides.</p>"
81168233
}
81178234
},
81188235
"documentation":"<p>Represents a slice of table data.</p>"
@@ -8342,13 +8459,21 @@
83428459
"shape":"PolicyJsonString",
83438460
"documentation":"<p>Contains the policy document to set, in JSON format.</p>"
83448461
},
8462+
"ResourceArn":{
8463+
"shape":"GlueResourceArn",
8464+
"documentation":"<p>The ARN of the AWS Glue resource for the resource policy to be set. For more information about AWS Glue resource ARNs, see the <a href=\"https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-common.html#aws-glue-api-regex-aws-glue-arn-id\">AWS Glue ARN string pattern</a> </p>"
8465+
},
83458466
"PolicyHashCondition":{
83468467
"shape":"HashString",
83478468
"documentation":"<p>The hash value returned when the previous policy was set using <code>PutResourcePolicy</code>. Its purpose is to prevent concurrent modifications of a policy. Do not use this parameter if no previous policy has been set.</p>"
83488469
},
83498470
"PolicyExistsCondition":{
83508471
"shape":"ExistCondition",
83518472
"documentation":"<p>A value of <code>MUST_EXIST</code> is used to update a policy. A value of <code>NOT_EXIST</code> is used to create a new policy. If a value of <code>NONE</code> or a null value is used, the call will not depend on the existence of a policy.</p>"
8473+
},
8474+
"EnableHybrid":{
8475+
"shape":"EnableHybridValues",
8476+
"documentation":"<p>Allows you to specify if you want to use both resource-level and account/catalog-level resource policies. A resource-level policy is a policy attached to an individual resource such as a database or a table.</p> <p>The default value of <code>NO</code> indicates that resource-level policies cannot co-exist with an account-level policy. A value of <code>YES</code> means the use of both resource-level and account/catalog-level resource policies is allowed.</p>"
83528477
}
83538478
}
83548479
},
@@ -8432,6 +8557,13 @@
84328557
"documentation":"<p>A resource numerical limit was exceeded.</p>",
84338558
"exception":true
84348559
},
8560+
"ResourceShareType":{
8561+
"type":"string",
8562+
"enum":[
8563+
"FOREIGN",
8564+
"ALL"
8565+
]
8566+
},
84358567
"ResourceType":{
84368568
"type":"string",
84378569
"enum":[
@@ -8628,6 +8760,10 @@
86288760
"MaxResults":{
86298761
"shape":"PageSize",
86308762
"documentation":"<p>The maximum number of tables to return in a single response.</p>"
8763+
},
8764+
"ResourceShareType":{
8765+
"shape":"ResourceShareType",
8766+
"documentation":"<p>Allows you to specify that you want to search the tables shared with your account. The allowable values are <code>FOREIGN</code> or <code>ALL</code>. </p> <ul> <li> <p>If set to <code>FOREIGN</code>, will search the tables shared with your account. </p> </li> <li> <p>If set to <code>ALL</code>, will search the tables shared with your account, as well as the tables in yor local account. </p> </li> </ul>"
86318767
}
86328768
}
86338769
},
@@ -9214,6 +9350,14 @@
92149350
"IsRegisteredWithLakeFormation":{
92159351
"shape":"Boolean",
92169352
"documentation":"<p>Indicates whether the table has been registered with AWS Lake Formation.</p>"
9353+
},
9354+
"TargetTable":{
9355+
"shape":"TableIdentifier",
9356+
"documentation":"<p>A <code>TableIdentifier</code> structure that describes a target table for resource linking.</p>"
9357+
},
9358+
"CatalogId":{
9359+
"shape":"CatalogIdString",
9360+
"documentation":"<p>The ID of the Data Catalog in which the table resides.</p>"
92179361
}
92189362
},
92199363
"documentation":"<p>Represents a collection of related data organized in columns and rows.</p>"
@@ -9236,6 +9380,24 @@
92369380
"type":"list",
92379381
"member":{"shape":"TableError"}
92389382
},
9383+
"TableIdentifier":{
9384+
"type":"structure",
9385+
"members":{
9386+
"CatalogId":{
9387+
"shape":"CatalogIdString",
9388+
"documentation":"<p>The ID of the Data Catalog in which the table resides.</p>"
9389+
},
9390+
"DatabaseName":{
9391+
"shape":"NameString",
9392+
"documentation":"<p>The name of the catalog database that contains the target table.</p>"
9393+
},
9394+
"Name":{
9395+
"shape":"NameString",
9396+
"documentation":"<p>The name of the target table.</p>"
9397+
}
9398+
},
9399+
"documentation":"<p>A structure that describes a target table for resource linking.</p>"
9400+
},
92399401
"TableInput":{
92409402
"type":"structure",
92419403
"required":["Name"],
@@ -9287,6 +9449,10 @@
92879449
"Parameters":{
92889450
"shape":"ParametersMap",
92899451
"documentation":"<p>These key-value pairs define properties associated with the table.</p>"
9452+
},
9453+
"TargetTable":{
9454+
"shape":"TableIdentifier",
9455+
"documentation":"<p>A <code>TableIdentifier</code> structure that describes a target table for resource linking.</p>"
92909456
}
92919457
},
92929458
"documentation":"<p>A structure used to define a table.</p>"
@@ -10416,7 +10582,7 @@
1041610582
},
1041710583
"DatabaseName":{
1041810584
"shape":"NameString",
10419-
"documentation":"<p>The name of the database where the function resides.</p>"
10585+
"documentation":"<p>The name of the catalog database that contains the function.</p>"
1042010586
},
1042110587
"ClassName":{
1042210588
"shape":"NameString",
@@ -10437,6 +10603,10 @@
1043710603
"ResourceUris":{
1043810604
"shape":"ResourceUriList",
1043910605
"documentation":"<p>The resource URIs for the function.</p>"
10606+
},
10607+
"CatalogId":{
10608+
"shape":"CatalogIdString",
10609+
"documentation":"<p>The ID of the Data Catalog in which the function resides.</p>"
1044010610
}
1044110611
},
1044210612
"documentation":"<p>Represents the equivalent of a Hive user-defined function (<code>UDF</code>) definition.</p>"

0 commit comments

Comments
 (0)