Skip to content

Commit da157a0

Browse files
authored
Merge pull request #2198 from udondan/iam-updates
2 parents bbd74c1 + d58733f commit da157a0

11 files changed

Lines changed: 85 additions & 86 deletions

File tree

CHANGELOG/v0.822.0.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
**New actions:**
2+
3+
- lambda:DeleteResourcePolicy
4+
- lambda:GetResourcePolicy
5+
- lambda:PutResourcePolicy
6+
- workspaces:InvokeOnboardingAgent
7+
- workspaces:Personalization

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
Support for:
1717

1818
- 455 Services
19-
- 21783 Actions
19+
- 21788 Actions
2020
- 2301 Resource Types
2121
- 2454 Condition keys
2222
<!-- /stats -->

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.821.0
1+
0.822.0

docs/source/conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
author = 'Daniel Schroeder'
2525

2626
# The full version, including alpha/beta/rc tags
27-
release = '0.821.0'
27+
release = '0.822.0'
2828

2929
# -- General configuration ---------------------------------------------------
3030

docs/source/index.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ AWS IAM policy statement generator with fluent interface.
3131
Support for:
3232

3333
- 455 Services
34-
- 21783 Actions
34+
- 21788 Actions
3535
- 2301 Resource Types
3636
- 2454 Condition keys
3737

lib/generated/policy-statements/lambda.ts

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -328,6 +328,17 @@ export class Lambda extends PolicyStatement {
328328
return this.to('DeleteProvisionedConcurrencyConfig');
329329
}
330330

331+
/**
332+
* Grants permission to detach a policy from an AWS Lambda resource
333+
*
334+
* Access Level: Permissions management, Write
335+
*
336+
* https://docs.aws.amazon.com/lambda/latest/dg/API_DeleteResourcePolicy.html
337+
*/
338+
public toDeleteResourcePolicy() {
339+
return this.to('DeleteResourcePolicy');
340+
}
341+
331342
/**
332343
* Grants permission to view details about an account's limits and usage in an AWS Region
333344
*
@@ -603,6 +614,17 @@ export class Lambda extends PolicyStatement {
603614
return this.to('GetProvisionedConcurrencyConfig');
604615
}
605616

617+
/**
618+
* Grants permission to view a policy for an AWS Lambda resource
619+
*
620+
* Access Level: Read
621+
*
622+
* https://docs.aws.amazon.com/lambda/latest/dg/API_GetResourcePolicy.html
623+
*/
624+
public toGetResourcePolicy() {
625+
return this.to('GetResourcePolicy');
626+
}
627+
606628
/**
607629
* Grants permission to view the runtime management configuration of an AWS Lambda function
608630
*
@@ -966,6 +988,17 @@ export class Lambda extends PolicyStatement {
966988
return this.to('PutProvisionedConcurrencyConfig');
967989
}
968990

991+
/**
992+
* Grants permission to attach a policy to an AWS Lambda resource
993+
*
994+
* Access Level: Permissions management, Write
995+
*
996+
* https://docs.aws.amazon.com/lambda/latest/dg/API_PutResourcePolicy.html
997+
*/
998+
public toPutResourcePolicy() {
999+
return this.to('PutResourcePolicy');
1000+
}
1001+
9691002
/**
9701003
* Grants permission to update the runtime management configuration of an AWS Lambda function
9711004
*
@@ -1311,6 +1344,8 @@ export class Lambda extends PolicyStatement {
13111344
'Permissions management': [
13121345
'AddLayerVersionPermission',
13131346
'AddPermission',
1347+
'DeleteResourcePolicy',
1348+
'PutResourcePolicy',
13141349
'RemoveLayerVersionPermission',
13151350
'RemovePermission',
13161351
'DisableReplication',
@@ -1344,6 +1379,7 @@ export class Lambda extends PolicyStatement {
13441379
'DeleteMicrovmImageVersion',
13451380
'DeleteNetworkConnector',
13461381
'DeleteProvisionedConcurrencyConfig',
1382+
'DeleteResourcePolicy',
13471383
'InvokeAsync',
13481384
'InvokeFunction',
13491385
'PublishLayerVersion',
@@ -1354,6 +1390,7 @@ export class Lambda extends PolicyStatement {
13541390
'PutFunctionRecursionConfig',
13551391
'PutFunctionScalingConfig',
13561392
'PutProvisionedConcurrencyConfig',
1393+
'PutResourcePolicy',
13571394
'PutRuntimeManagementConfig',
13581395
'RemoveLayerVersionPermission',
13591396
'RemovePermission',
@@ -1412,6 +1449,7 @@ export class Lambda extends PolicyStatement {
14121449
'GetNetworkConnector',
14131450
'GetPolicy',
14141451
'GetProvisionedConcurrencyConfig',
1452+
'GetResourcePolicy',
14151453
'GetRuntimeManagementConfig',
14161454
'ListTags'
14171455
],
@@ -1681,6 +1719,7 @@ export class Lambda extends PolicyStatement {
16811719
* - .toDeleteMicrovmImageVersion()
16821720
* - .toDeleteNetworkConnector()
16831721
* - .toDeleteProvisionedConcurrencyConfig()
1722+
* - .toDeleteResourcePolicy()
16841723
* - .toGetAlias()
16851724
* - .toGetCapacityProvider()
16861725
* - .toGetCodeSigningConfig()
@@ -1703,6 +1742,7 @@ export class Lambda extends PolicyStatement {
17031742
* - .toGetNetworkConnector()
17041743
* - .toGetPolicy()
17051744
* - .toGetProvisionedConcurrencyConfig()
1745+
* - .toGetResourcePolicy()
17061746
* - .toGetRuntimeManagementConfig()
17071747
* - .toInvokeAsync()
17081748
* - .toInvokeFunction()
@@ -1725,6 +1765,7 @@ export class Lambda extends PolicyStatement {
17251765
* - .toPutFunctionRecursionConfig()
17261766
* - .toPutFunctionScalingConfig()
17271767
* - .toPutProvisionedConcurrencyConfig()
1768+
* - .toPutResourcePolicy()
17281769
* - .toPutRuntimeManagementConfig()
17291770
* - .toRemovePermission()
17301771
* - .toResumeMicrovm()
@@ -1909,6 +1950,8 @@ export class Lambda extends PolicyStatement {
19091950
*
19101951
* Applies to actions:
19111952
* - .toAddPermission()
1953+
* - .toDeleteResourcePolicy()
1954+
* - .toPutResourcePolicy()
19121955
* - .toRemovePermission()
19131956
*
19141957
* @param value The value(s) to check

lib/generated/policy-statements/outposts.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -643,6 +643,7 @@ export class Outposts extends PolicyStatement {
643643
* - .toListAssets()
644644
* - .toListBlockingInstancesForCapacityTask()
645645
* - .toStartCapacityTask()
646+
* - .toStartConnection()
646647
* - .toTagResource()
647648
* - .toUntagResource()
648649
* - .toUpdateOutpost()

lib/generated/policy-statements/vpc-lattice.ts

Lines changed: 1 addition & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -958,7 +958,6 @@ export class VpcLattice extends PolicyStatement {
958958
* - .ifAwsRequestTag()
959959
* - .ifAwsResourceTag()
960960
* - .ifAwsTagKeys()
961-
* - .ifCreateAction()
962961
*/
963962
public onAccessLogSubscription(accessLogSubscriptionId: string, account?: string, region?: string, partition?: string) {
964963
return this.on(`arn:${ partition ?? this.defaultPartition }:vpc-lattice:${ region ?? this.defaultRegion }:${ account ?? this.defaultAccount }:accesslogsubscription/${ accessLogSubscriptionId }`);
@@ -978,7 +977,6 @@ export class VpcLattice extends PolicyStatement {
978977
* - .ifAwsRequestTag()
979978
* - .ifAwsResourceTag()
980979
* - .ifAwsTagKeys()
981-
* - .ifCreateAction()
982980
* - .ifDomainName()
983981
*/
984982
public onDomainVerification(domainVerificationId: string, account?: string, region?: string, partition?: string) {
@@ -1000,7 +998,6 @@ export class VpcLattice extends PolicyStatement {
1000998
* - .ifAwsRequestTag()
1001999
* - .ifAwsResourceTag()
10021000
* - .ifAwsTagKeys()
1003-
* - .ifCreateAction()
10041001
* - .ifProtocol()
10051002
* - .ifTargetGroupArns()
10061003
*/
@@ -1022,7 +1019,6 @@ export class VpcLattice extends PolicyStatement {
10221019
* - .ifAwsRequestTag()
10231020
* - .ifAwsResourceTag()
10241021
* - .ifAwsTagKeys()
1025-
* - .ifCreateAction()
10261022
*/
10271023
public onResourceConfiguration(resourceConfigurationId: string, account?: string, region?: string, partition?: string) {
10281024
return this.on(`arn:${ partition ?? this.defaultPartition }:vpc-lattice:${ region ?? this.defaultRegion }:${ account ?? this.defaultAccount }:resourceconfiguration/${ resourceConfigurationId }`);
@@ -1063,7 +1059,6 @@ export class VpcLattice extends PolicyStatement {
10631059
* - .ifAwsRequestTag()
10641060
* - .ifAwsResourceTag()
10651061
* - .ifAwsTagKeys()
1066-
* - .ifCreateAction()
10671062
* - .ifVpcId()
10681063
*/
10691064
public onResourceGateway(resourceGatewayId: string, account?: string, region?: string, partition?: string) {
@@ -1086,7 +1081,6 @@ export class VpcLattice extends PolicyStatement {
10861081
* - .ifAwsRequestTag()
10871082
* - .ifAwsResourceTag()
10881083
* - .ifAwsTagKeys()
1089-
* - .ifCreateAction()
10901084
* - .ifTargetGroupArns()
10911085
*/
10921086
public onRule(serviceId: string, listenerId: string, ruleId: string, account?: string, region?: string, partition?: string) {
@@ -1108,7 +1102,6 @@ export class VpcLattice extends PolicyStatement {
11081102
* - .ifAwsResourceTag()
11091103
* - .ifAwsTagKeys()
11101104
* - .ifAuthType()
1111-
* - .ifCreateAction()
11121105
*/
11131106
public onService(serviceId: string, account?: string, region?: string, partition?: string) {
11141107
return this.on(`arn:${ partition ?? this.defaultPartition }:vpc-lattice:${ region ?? this.defaultRegion }:${ account ?? this.defaultAccount }:service/${ serviceId }`);
@@ -1129,7 +1122,6 @@ export class VpcLattice extends PolicyStatement {
11291122
* - .ifAwsResourceTag()
11301123
* - .ifAwsTagKeys()
11311124
* - .ifAuthType()
1132-
* - .ifCreateAction()
11331125
*/
11341126
public onServiceNetwork(serviceNetworkId: string, account?: string, region?: string, partition?: string) {
11351127
return this.on(`arn:${ partition ?? this.defaultPartition }:vpc-lattice:${ region ?? this.defaultRegion }:${ account ?? this.defaultAccount }:servicenetwork/${ serviceNetworkId }`);
@@ -1149,7 +1141,6 @@ export class VpcLattice extends PolicyStatement {
11491141
* - .ifAwsRequestTag()
11501142
* - .ifAwsResourceTag()
11511143
* - .ifAwsTagKeys()
1152-
* - .ifCreateAction()
11531144
* - .ifResourceConfigurationArn()
11541145
* - .ifServiceNetworkArn()
11551146
*/
@@ -1171,7 +1162,6 @@ export class VpcLattice extends PolicyStatement {
11711162
* - .ifAwsRequestTag()
11721163
* - .ifAwsResourceTag()
11731164
* - .ifAwsTagKeys()
1174-
* - .ifCreateAction()
11751165
* - .ifServiceArn()
11761166
* - .ifServiceNetworkArn()
11771167
*/
@@ -1193,7 +1183,6 @@ export class VpcLattice extends PolicyStatement {
11931183
* - .ifAwsRequestTag()
11941184
* - .ifAwsResourceTag()
11951185
* - .ifAwsTagKeys()
1196-
* - .ifCreateAction()
11971186
* - .ifPrivateDnsPreference()
11981187
* - .ifPrivateDnsSpecifiedDomains()
11991188
* - .ifSecurityGroupIds()
@@ -1218,7 +1207,6 @@ export class VpcLattice extends PolicyStatement {
12181207
* - .ifAwsRequestTag()
12191208
* - .ifAwsResourceTag()
12201209
* - .ifAwsTagKeys()
1221-
* - .ifCreateAction()
12221210
* - .ifVpcId()
12231211
*/
12241212
public onTargetGroup(targetGroupId: string, account?: string, region?: string, partition?: string) {
@@ -1524,81 +1512,12 @@ export class VpcLattice extends PolicyStatement {
15241512
}
15251513

15261514
/**
1527-
* Filters access by the name of a resource-creating API action
1515+
* Filters access by the name of a resource-creating API action and only available during tagging resources on creation
15281516
*
15291517
* https://docs.aws.amazon.com/vpc-lattice/latest/ug/
15301518
*
15311519
* Applies to actions:
1532-
* - .toCreateAccessLogSubscription()
1533-
* - .toCreateListener()
1534-
* - .toCreateResourceConfiguration()
1535-
* - .toCreateResourceGateway()
1536-
* - .toCreateRule()
1537-
* - .toCreateService()
1538-
* - .toCreateServiceNetwork()
1539-
* - .toCreateServiceNetworkResourceAssociation()
1540-
* - .toCreateServiceNetworkServiceAssociation()
1541-
* - .toCreateServiceNetworkVpcAssociation()
1542-
* - .toCreateTargetGroup()
1543-
* - .toDeleteAccessLogSubscription()
1544-
* - .toDeleteAuthPolicy()
1545-
* - .toDeleteDomainVerification()
1546-
* - .toDeleteListener()
1547-
* - .toDeleteResourceConfiguration()
1548-
* - .toDeleteResourceGateway()
1549-
* - .toDeleteResourcePolicy()
1550-
* - .toDeleteRule()
1551-
* - .toDeleteService()
1552-
* - .toDeleteServiceNetwork()
1553-
* - .toDeleteServiceNetworkResourceAssociation()
1554-
* - .toDeleteServiceNetworkServiceAssociation()
1555-
* - .toDeleteServiceNetworkVpcAssociation()
1556-
* - .toDeleteTargetGroup()
1557-
* - .toDeregisterTargets()
1558-
* - .toGetAccessLogSubscription()
1559-
* - .toGetAuthPolicy()
1560-
* - .toGetDomainVerification()
1561-
* - .toGetListener()
1562-
* - .toGetResourceConfiguration()
1563-
* - .toGetResourceGateway()
1564-
* - .toGetResourcePolicy()
1565-
* - .toGetRule()
1566-
* - .toGetService()
1567-
* - .toGetServiceNetwork()
1568-
* - .toGetServiceNetworkResourceAssociation()
1569-
* - .toGetServiceNetworkServiceAssociation()
1570-
* - .toGetServiceNetworkVpcAssociation()
1571-
* - .toGetTargetGroup()
1572-
* - .toListTargets()
1573-
* - .toPutAuthPolicy()
1574-
* - .toPutResourcePolicy()
1575-
* - .toRegisterTargets()
1576-
* - .toStartDomainVerification()
15771520
* - .toTagResource()
1578-
* - .toUntagResource()
1579-
* - .toUpdateAccessLogSubscription()
1580-
* - .toUpdateListener()
1581-
* - .toUpdateResourceConfiguration()
1582-
* - .toUpdateResourceGateway()
1583-
* - .toUpdateRule()
1584-
* - .toUpdateService()
1585-
* - .toUpdateServiceNetwork()
1586-
* - .toUpdateServiceNetworkVpcAssociation()
1587-
* - .toUpdateTargetGroup()
1588-
*
1589-
* Applies to resource types:
1590-
* - AccessLogSubscription
1591-
* - DomainVerification
1592-
* - Listener
1593-
* - ResourceConfiguration
1594-
* - ResourceGateway
1595-
* - Rule
1596-
* - Service
1597-
* - ServiceNetwork
1598-
* - ServiceNetworkResourceAssociation
1599-
* - ServiceNetworkServiceAssociation
1600-
* - ServiceNetworkVpcAssociation
1601-
* - TargetGroup
16021521
*
16031522
* @param value The value(s) to check
16041523
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`

lib/generated/policy-statements/workspaces.ts

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1109,6 +1109,17 @@ export class Workspaces extends PolicyStatement {
11091109
return this.to('GetTroubleshootingRecommendation');
11101110
}
11111111

1112+
/**
1113+
* Grants permission to use WorkSpaces Advisor for WorkSpace onboarding
1114+
*
1115+
* Access Level: Write
1116+
*
1117+
* https://docs.aws.amazon.com/workspaces/latest/adminguide/wsp-console-permissions-ref.html
1118+
*/
1119+
public toInvokeOnboardingAgent() {
1120+
return this.to('InvokeOnboardingAgent');
1121+
}
1122+
11121123
/**
11131124
* Grants permission to invoke troubleshooting investigation
11141125
*
@@ -1131,6 +1142,17 @@ export class Workspaces extends PolicyStatement {
11311142
return this.to('ListTroubleshootingRecommendations');
11321143
}
11331144

1145+
/**
1146+
* Grants permission to manage features that enable personalization of the WorkSpaces console experience
1147+
*
1148+
* Access Level: Write
1149+
*
1150+
* https://docs.aws.amazon.com/workspaces/latest/adminguide/wsp-console-permissions-ref.html
1151+
*/
1152+
public toPersonalization() {
1153+
return this.to('Personalization');
1154+
}
1155+
11341156
/**
11351157
* Grants permission to update the consent agreement to BYOL minimum requirements
11361158
*
@@ -1222,6 +1244,8 @@ export class Workspaces extends PolicyStatement {
12221244
'UpdateWorkspacesPool',
12231245
'CreateRootClientCertificate',
12241246
'DeleteRootClientCertificate',
1247+
'InvokeOnboardingAgent',
1248+
'Personalization',
12251249
'UpdateConsent',
12261250
'UpdateRootClientCertificate'
12271251
],

0 commit comments

Comments
 (0)