Skip to content

Commit c23b2fb

Browse files
author
awstools
committed
feat(client-datazone): This release adds a new authorization policy to control the usage of custom AssetType when creating an Asset. Customer can now add new grant(s) of policyType USE_ASSET_TYPE for custom AssetTypes to apply authorization policy to projects members and domain unit owners.
1 parent c8dc773 commit c23b2fb

File tree

8 files changed

+137
-42
lines changed

8 files changed

+137
-42
lines changed

clients/client-datazone/src/commands/AddPolicyGrantCommand.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,9 @@ export interface AddPolicyGrantCommandOutput extends AddPolicyGrantOutput, __Met
3838
* const client = new DataZoneClient(config);
3939
* const input = { // AddPolicyGrantInput
4040
* domainIdentifier: "STRING_VALUE", // required
41-
* entityType: "DOMAIN_UNIT" || "ENVIRONMENT_BLUEPRINT_CONFIGURATION" || "ENVIRONMENT_PROFILE", // required
41+
* entityType: "DOMAIN_UNIT" || "ENVIRONMENT_BLUEPRINT_CONFIGURATION" || "ENVIRONMENT_PROFILE" || "ASSET_TYPE", // required
4242
* entityIdentifier: "STRING_VALUE", // required
43-
* policyType: "CREATE_DOMAIN_UNIT" || "OVERRIDE_DOMAIN_UNIT_OWNERS" || "ADD_TO_PROJECT_MEMBER_POOL" || "OVERRIDE_PROJECT_OWNERS" || "CREATE_GLOSSARY" || "CREATE_FORM_TYPE" || "CREATE_ASSET_TYPE" || "CREATE_PROJECT" || "CREATE_ENVIRONMENT_PROFILE" || "DELEGATE_CREATE_ENVIRONMENT_PROFILE" || "CREATE_ENVIRONMENT" || "CREATE_ENVIRONMENT_FROM_BLUEPRINT" || "CREATE_PROJECT_FROM_PROJECT_PROFILE", // required
43+
* policyType: "CREATE_DOMAIN_UNIT" || "OVERRIDE_DOMAIN_UNIT_OWNERS" || "ADD_TO_PROJECT_MEMBER_POOL" || "OVERRIDE_PROJECT_OWNERS" || "CREATE_GLOSSARY" || "CREATE_FORM_TYPE" || "CREATE_ASSET_TYPE" || "CREATE_PROJECT" || "CREATE_ENVIRONMENT_PROFILE" || "DELEGATE_CREATE_ENVIRONMENT_PROFILE" || "CREATE_ENVIRONMENT" || "CREATE_ENVIRONMENT_FROM_BLUEPRINT" || "CREATE_PROJECT_FROM_PROJECT_PROFILE" || "USE_ASSET_TYPE", // required
4444
* principal: { // PolicyGrantPrincipal Union: only one key present
4545
* user: { // UserPolicyGrantPrincipal Union: only one key present
4646
* userIdentifier: "STRING_VALUE",
@@ -104,6 +104,9 @@ export interface AddPolicyGrantCommandOutput extends AddPolicyGrantOutput, __Met
104104
* "STRING_VALUE",
105105
* ],
106106
* },
107+
* useAssetType: { // UseAssetTypePolicyGrantDetail
108+
* domainUnitId: "STRING_VALUE",
109+
* },
107110
* },
108111
* clientToken: "STRING_VALUE",
109112
* };

clients/client-datazone/src/commands/ListPolicyGrantsCommand.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,9 @@ export interface ListPolicyGrantsCommandOutput extends ListPolicyGrantsOutput, _
3737
* const client = new DataZoneClient(config);
3838
* const input = { // ListPolicyGrantsInput
3939
* domainIdentifier: "STRING_VALUE", // required
40-
* entityType: "DOMAIN_UNIT" || "ENVIRONMENT_BLUEPRINT_CONFIGURATION" || "ENVIRONMENT_PROFILE", // required
40+
* entityType: "DOMAIN_UNIT" || "ENVIRONMENT_BLUEPRINT_CONFIGURATION" || "ENVIRONMENT_PROFILE" || "ASSET_TYPE", // required
4141
* entityIdentifier: "STRING_VALUE", // required
42-
* policyType: "CREATE_DOMAIN_UNIT" || "OVERRIDE_DOMAIN_UNIT_OWNERS" || "ADD_TO_PROJECT_MEMBER_POOL" || "OVERRIDE_PROJECT_OWNERS" || "CREATE_GLOSSARY" || "CREATE_FORM_TYPE" || "CREATE_ASSET_TYPE" || "CREATE_PROJECT" || "CREATE_ENVIRONMENT_PROFILE" || "DELEGATE_CREATE_ENVIRONMENT_PROFILE" || "CREATE_ENVIRONMENT" || "CREATE_ENVIRONMENT_FROM_BLUEPRINT" || "CREATE_PROJECT_FROM_PROJECT_PROFILE", // required
42+
* policyType: "CREATE_DOMAIN_UNIT" || "OVERRIDE_DOMAIN_UNIT_OWNERS" || "ADD_TO_PROJECT_MEMBER_POOL" || "OVERRIDE_PROJECT_OWNERS" || "CREATE_GLOSSARY" || "CREATE_FORM_TYPE" || "CREATE_ASSET_TYPE" || "CREATE_PROJECT" || "CREATE_ENVIRONMENT_PROFILE" || "DELEGATE_CREATE_ENVIRONMENT_PROFILE" || "CREATE_ENVIRONMENT" || "CREATE_ENVIRONMENT_FROM_BLUEPRINT" || "CREATE_PROJECT_FROM_PROJECT_PROFILE" || "USE_ASSET_TYPE", // required
4343
* maxResults: Number("int"),
4444
* nextToken: "STRING_VALUE",
4545
* };
@@ -111,6 +111,9 @@ export interface ListPolicyGrantsCommandOutput extends ListPolicyGrantsOutput, _
111111
* // "STRING_VALUE",
112112
* // ],
113113
* // },
114+
* // useAssetType: { // UseAssetTypePolicyGrantDetail
115+
* // domainUnitId: "STRING_VALUE",
116+
* // },
114117
* // },
115118
* // createdAt: new Date("TIMESTAMP"),
116119
* // createdBy: "STRING_VALUE",

clients/client-datazone/src/commands/RemovePolicyGrantCommand.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,9 @@ export interface RemovePolicyGrantCommandOutput extends RemovePolicyGrantOutput,
3737
* const client = new DataZoneClient(config);
3838
* const input = { // RemovePolicyGrantInput
3939
* domainIdentifier: "STRING_VALUE", // required
40-
* entityType: "DOMAIN_UNIT" || "ENVIRONMENT_BLUEPRINT_CONFIGURATION" || "ENVIRONMENT_PROFILE", // required
40+
* entityType: "DOMAIN_UNIT" || "ENVIRONMENT_BLUEPRINT_CONFIGURATION" || "ENVIRONMENT_PROFILE" || "ASSET_TYPE", // required
4141
* entityIdentifier: "STRING_VALUE", // required
42-
* policyType: "CREATE_DOMAIN_UNIT" || "OVERRIDE_DOMAIN_UNIT_OWNERS" || "ADD_TO_PROJECT_MEMBER_POOL" || "OVERRIDE_PROJECT_OWNERS" || "CREATE_GLOSSARY" || "CREATE_FORM_TYPE" || "CREATE_ASSET_TYPE" || "CREATE_PROJECT" || "CREATE_ENVIRONMENT_PROFILE" || "DELEGATE_CREATE_ENVIRONMENT_PROFILE" || "CREATE_ENVIRONMENT" || "CREATE_ENVIRONMENT_FROM_BLUEPRINT" || "CREATE_PROJECT_FROM_PROJECT_PROFILE", // required
42+
* policyType: "CREATE_DOMAIN_UNIT" || "OVERRIDE_DOMAIN_UNIT_OWNERS" || "ADD_TO_PROJECT_MEMBER_POOL" || "OVERRIDE_PROJECT_OWNERS" || "CREATE_GLOSSARY" || "CREATE_FORM_TYPE" || "CREATE_ASSET_TYPE" || "CREATE_PROJECT" || "CREATE_ENVIRONMENT_PROFILE" || "DELEGATE_CREATE_ENVIRONMENT_PROFILE" || "CREATE_ENVIRONMENT" || "CREATE_ENVIRONMENT_FROM_BLUEPRINT" || "CREATE_PROJECT_FROM_PROJECT_PROFILE" || "USE_ASSET_TYPE", // required
4343
* principal: { // PolicyGrantPrincipal Union: only one key present
4444
* user: { // UserPolicyGrantPrincipal Union: only one key present
4545
* userIdentifier: "STRING_VALUE",

clients/client-datazone/src/models/models_0.ts

Lines changed: 53 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1111,6 +1111,18 @@ export interface OverrideProjectOwnersPolicyGrantDetail {
11111111
includeChildDomainUnits?: boolean | undefined;
11121112
}
11131113

1114+
/**
1115+
* <p>Specifies the domain unit(s) whose projects can use this asset type while creating asset or asset revisions.</p>
1116+
* @public
1117+
*/
1118+
export interface UseAssetTypePolicyGrantDetail {
1119+
/**
1120+
* <p>The ID of the domain unit.</p>
1121+
* @public
1122+
*/
1123+
domainUnitId?: string | undefined;
1124+
}
1125+
11141126
/**
11151127
* <p>The details of the policy grant.</p>
11161128
* @public
@@ -1129,6 +1141,7 @@ export type PolicyGrantDetail =
11291141
| PolicyGrantDetail.DelegateCreateEnvironmentProfileMember
11301142
| PolicyGrantDetail.OverrideDomainUnitOwnersMember
11311143
| PolicyGrantDetail.OverrideProjectOwnersMember
1144+
| PolicyGrantDetail.UseAssetTypeMember
11321145
| PolicyGrantDetail.$UnknownMember;
11331146

11341147
/**
@@ -1153,6 +1166,7 @@ export namespace PolicyGrantDetail {
11531166
createEnvironment?: never;
11541167
createEnvironmentFromBlueprint?: never;
11551168
createProjectFromProjectProfile?: never;
1169+
useAssetType?: never;
11561170
$unknown?: never;
11571171
}
11581172

@@ -1174,6 +1188,7 @@ export namespace PolicyGrantDetail {
11741188
createEnvironment?: never;
11751189
createEnvironmentFromBlueprint?: never;
11761190
createProjectFromProjectProfile?: never;
1191+
useAssetType?: never;
11771192
$unknown?: never;
11781193
}
11791194

@@ -1195,6 +1210,7 @@ export namespace PolicyGrantDetail {
11951210
createEnvironment?: never;
11961211
createEnvironmentFromBlueprint?: never;
11971212
createProjectFromProjectProfile?: never;
1213+
useAssetType?: never;
11981214
$unknown?: never;
11991215
}
12001216

@@ -1216,6 +1232,7 @@ export namespace PolicyGrantDetail {
12161232
createEnvironment?: never;
12171233
createEnvironmentFromBlueprint?: never;
12181234
createProjectFromProjectProfile?: never;
1235+
useAssetType?: never;
12191236
$unknown?: never;
12201237
}
12211238

@@ -1237,6 +1254,7 @@ export namespace PolicyGrantDetail {
12371254
createEnvironment?: never;
12381255
createEnvironmentFromBlueprint?: never;
12391256
createProjectFromProjectProfile?: never;
1257+
useAssetType?: never;
12401258
$unknown?: never;
12411259
}
12421260

@@ -1258,6 +1276,7 @@ export namespace PolicyGrantDetail {
12581276
createEnvironment?: never;
12591277
createEnvironmentFromBlueprint?: never;
12601278
createProjectFromProjectProfile?: never;
1279+
useAssetType?: never;
12611280
$unknown?: never;
12621281
}
12631282

@@ -1279,6 +1298,7 @@ export namespace PolicyGrantDetail {
12791298
createEnvironment?: never;
12801299
createEnvironmentFromBlueprint?: never;
12811300
createProjectFromProjectProfile?: never;
1301+
useAssetType?: never;
12821302
$unknown?: never;
12831303
}
12841304

@@ -1300,6 +1320,7 @@ export namespace PolicyGrantDetail {
13001320
createEnvironment?: never;
13011321
createEnvironmentFromBlueprint?: never;
13021322
createProjectFromProjectProfile?: never;
1323+
useAssetType?: never;
13031324
$unknown?: never;
13041325
}
13051326

@@ -1321,6 +1342,7 @@ export namespace PolicyGrantDetail {
13211342
createEnvironment?: never;
13221343
createEnvironmentFromBlueprint?: never;
13231344
createProjectFromProjectProfile?: never;
1345+
useAssetType?: never;
13241346
$unknown?: never;
13251347
}
13261348

@@ -1342,6 +1364,7 @@ export namespace PolicyGrantDetail {
13421364
createEnvironment?: never;
13431365
createEnvironmentFromBlueprint?: never;
13441366
createProjectFromProjectProfile?: never;
1367+
useAssetType?: never;
13451368
$unknown?: never;
13461369
}
13471370

@@ -1363,6 +1386,7 @@ export namespace PolicyGrantDetail {
13631386
createEnvironment: Unit;
13641387
createEnvironmentFromBlueprint?: never;
13651388
createProjectFromProjectProfile?: never;
1389+
useAssetType?: never;
13661390
$unknown?: never;
13671391
}
13681392

@@ -1384,6 +1408,7 @@ export namespace PolicyGrantDetail {
13841408
createEnvironment?: never;
13851409
createEnvironmentFromBlueprint: Unit;
13861410
createProjectFromProjectProfile?: never;
1411+
useAssetType?: never;
13871412
$unknown?: never;
13881413
}
13891414

@@ -1405,6 +1430,29 @@ export namespace PolicyGrantDetail {
14051430
createEnvironment?: never;
14061431
createEnvironmentFromBlueprint?: never;
14071432
createProjectFromProjectProfile: CreateProjectFromProjectProfilePolicyGrantDetail;
1433+
useAssetType?: never;
1434+
$unknown?: never;
1435+
}
1436+
1437+
/**
1438+
* <p> Specifies the domain unit(s) whose projects can use this asset type while creating asset or asset revisions.</p>
1439+
* @public
1440+
*/
1441+
export interface UseAssetTypeMember {
1442+
createDomainUnit?: never;
1443+
overrideDomainUnitOwners?: never;
1444+
addToProjectMemberPool?: never;
1445+
overrideProjectOwners?: never;
1446+
createGlossary?: never;
1447+
createFormType?: never;
1448+
createAssetType?: never;
1449+
createProject?: never;
1450+
createEnvironmentProfile?: never;
1451+
delegateCreateEnvironmentProfile?: never;
1452+
createEnvironment?: never;
1453+
createEnvironmentFromBlueprint?: never;
1454+
createProjectFromProjectProfile?: never;
1455+
useAssetType: UseAssetTypePolicyGrantDetail;
14081456
$unknown?: never;
14091457
}
14101458

@@ -1425,6 +1473,7 @@ export namespace PolicyGrantDetail {
14251473
createEnvironment?: never;
14261474
createEnvironmentFromBlueprint?: never;
14271475
createProjectFromProjectProfile?: never;
1476+
useAssetType?: never;
14281477
$unknown: [string, any];
14291478
}
14301479

@@ -1442,6 +1491,7 @@ export namespace PolicyGrantDetail {
14421491
createEnvironment: (value: Unit) => T;
14431492
createEnvironmentFromBlueprint: (value: Unit) => T;
14441493
createProjectFromProjectProfile: (value: CreateProjectFromProjectProfilePolicyGrantDetail) => T;
1494+
useAssetType: (value: UseAssetTypePolicyGrantDetail) => T;
14451495
_: (name: string, value: any) => T;
14461496
}
14471497

@@ -1464,6 +1514,7 @@ export namespace PolicyGrantDetail {
14641514
return visitor.createEnvironmentFromBlueprint(value.createEnvironmentFromBlueprint);
14651515
if (value.createProjectFromProjectProfile !== undefined)
14661516
return visitor.createProjectFromProjectProfile(value.createProjectFromProjectProfile);
1517+
if (value.useAssetType !== undefined) return visitor.useAssetType(value.useAssetType);
14671518
return visitor._(value.$unknown[0], value.$unknown[1]);
14681519
};
14691520
}
@@ -1473,6 +1524,7 @@ export namespace PolicyGrantDetail {
14731524
* @enum
14741525
*/
14751526
export const TargetEntityType = {
1527+
ASSET_TYPE: "ASSET_TYPE",
14761528
DOMAIN_UNIT: "DOMAIN_UNIT",
14771529
ENVIRONMENT_BLUEPRINT_CONFIGURATION: "ENVIRONMENT_BLUEPRINT_CONFIGURATION",
14781530
ENVIRONMENT_PROFILE: "ENVIRONMENT_PROFILE",
@@ -1501,6 +1553,7 @@ export const ManagedPolicyType = {
15011553
DELEGATE_CREATE_ENVIRONMENT_PROFILE: "DELEGATE_CREATE_ENVIRONMENT_PROFILE",
15021554
OVERRIDE_DOMAIN_UNIT_OWNERS: "OVERRIDE_DOMAIN_UNIT_OWNERS",
15031555
OVERRIDE_PROJECT_OWNERS: "OVERRIDE_PROJECT_OWNERS",
1556+
USE_ASSET_TYPE: "USE_ASSET_TYPE",
15041557
} as const;
15051558

15061559
/**
@@ -10550,18 +10603,6 @@ export interface SubscribedListingInput {
1055010603
identifier: string | undefined;
1055110604
}
1055210605

10553-
/**
10554-
* <p>The project that is to be given a subscription grant.</p>
10555-
* @public
10556-
*/
10557-
export interface SubscribedProjectInput {
10558-
/**
10559-
* <p>The identifier of the project that is to be given a subscription grant.</p>
10560-
* @public
10561-
*/
10562-
identifier?: string | undefined;
10563-
}
10564-
1056510606
/**
1056610607
* @internal
1056710608
*/

clients/client-datazone/src/models/models_1.ts

Lines changed: 12 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,6 @@ import {
7777
SubscribedListingInput,
7878
SubscribedPrincipal,
7979
SubscribedPrincipalFilterSensitiveLog,
80-
SubscribedProjectInput,
8180
SubscriptionGrantOverallStatus,
8281
SubscriptionRequestStatus,
8382
SubscriptionStatus,
@@ -87,6 +86,18 @@ import {
8786
UserDesignation,
8887
} from "./models_0";
8988

89+
/**
90+
* <p>The project that is to be given a subscription grant.</p>
91+
* @public
92+
*/
93+
export interface SubscribedProjectInput {
94+
/**
95+
* <p>The identifier of the project that is to be given a subscription grant.</p>
96+
* @public
97+
*/
98+
identifier?: string | undefined;
99+
}
100+
90101
/**
91102
* <p>The principal that is to be given a subscriptiong grant.</p>
92103
* @public
@@ -11206,24 +11217,6 @@ export const SearchOutputAdditionalAttribute = {
1120611217
export type SearchOutputAdditionalAttribute =
1120711218
(typeof SearchOutputAdditionalAttribute)[keyof typeof SearchOutputAdditionalAttribute];
1120811219

11209-
/**
11210-
* <p>A search filter in Amazon DataZone.</p>
11211-
* @public
11212-
*/
11213-
export interface Filter {
11214-
/**
11215-
* <p>A search filter attribute in Amazon DataZone.</p>
11216-
* @public
11217-
*/
11218-
attribute: string | undefined;
11219-
11220-
/**
11221-
* <p>A search filter value in Amazon DataZone.</p>
11222-
* @public
11223-
*/
11224-
value: string | undefined;
11225-
}
11226-
1122711220
/**
1122811221
* @internal
1122911222
*/

clients/client-datazone/src/models/models_2.ts

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,6 @@ import {
6464
DataProductListingItemFilterSensitiveLog,
6565
DataProductResultItem,
6666
DataProductResultItemFilterSensitiveLog,
67-
Filter,
6867
Import,
6968
ImportFilterSensitiveLog,
7069
SearchOutputAdditionalAttribute,
@@ -76,6 +75,24 @@ import {
7675
UserProfileType,
7776
} from "./models_1";
7877

78+
/**
79+
* <p>A search filter in Amazon DataZone.</p>
80+
* @public
81+
*/
82+
export interface Filter {
83+
/**
84+
* <p>A search filter attribute in Amazon DataZone.</p>
85+
* @public
86+
*/
87+
attribute: string | undefined;
88+
89+
/**
90+
* <p>A search filter value in Amazon DataZone.</p>
91+
* @public
92+
*/
93+
value: string | undefined;
94+
}
95+
7996
/**
8097
* <p>The details of the search.</p>
8198
* @public
@@ -2134,7 +2151,8 @@ export interface UpdateSubscriptionTargetOutput {
21342151

21352152
/**
21362153
* <p>The authorized principals to be updated as part of the
2137-
* <code>UpdateSubscriptionTarget</code> action.</p>
2154+
* <code>UpdateSubscriptionTarget</code> action. Updates are supported in batches of 5 at a
2155+
* time.</p>
21382156
* @public
21392157
*/
21402158
authorizedPrincipals: string[] | undefined;

0 commit comments

Comments
 (0)