From ebeaa13118c594941f2c387d4e79b2f9d2d150cb Mon Sep 17 00:00:00 2001 From: Jacob Kaplan-Moss Date: Fri, 31 May 2019 10:57:52 -0400 Subject: [PATCH 01/14] Fixed an error printing a stack trace from a failed chalice invoke. --- chalice/invoke.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/chalice/invoke.py b/chalice/invoke.py index 417cae5db..eabbf847e 100644 --- a/chalice/invoke.py +++ b/chalice/invoke.py @@ -83,8 +83,8 @@ def _format_error(self, formatted, payload): error_type = loaded_error.get('errorType') stack_trace = loaded_error.get('stackTrace') - if stack_trace is not None: - self._format_stacktrace(formatted, stack_trace) + for line in stack_trace: + formatted.write(line) if error_type is not None: formatted.write('{}: {}\n'.format(error_type, error_message)) From 8b5c45f25fd2a78862cda5d7b0a4b112ef848a7d Mon Sep 17 00:00:00 2001 From: stealthycoin Date: Tue, 4 Jun 2019 14:10:32 -0700 Subject: [PATCH 02/14] Update policies.json --- CHANGELOG.rst | 2 + chalice/policies.json | 1466 ++++++++++++++++++++++++++++++++++++++++- 2 files changed, 1438 insertions(+), 30 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 5c7ba0ffd..0c5c4a9fd 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -13,6 +13,8 @@ Next Release (TBD) * Raise TypeError when trying to serialize an unserializable type (`#1100 `__) +* Update ``policies.json`` file + (`#1110 `__) 1.8.0 diff --git a/chalice/policies.json b/chalice/policies.json index 09c0bec42..770b41445 100644 --- a/chalice/policies.json +++ b/chalice/policies.json @@ -3,18 +3,23 @@ "AddTagsToCertificate": "acm:AddTagsToCertificate", "DeleteCertificate": "acm:DeleteCertificate", "DescribeCertificate": "acm:DescribeCertificate", + "ExportCertificate": "acm:ExportCertificate", "GetCertificate": "acm:GetCertificate", "ImportCertificate": "acm:ImportCertificate", "ListCertificates": "acm:ListCertificates", "ListTagsForCertificate": "acm:ListTagsForCertificate", "RemoveTagsFromCertificate": "acm:RemoveTagsFromCertificate", + "RenewCertificate": "acm:RenewCertificate", "RequestCertificate": "acm:RequestCertificate", - "ResendValidationEmail": "acm:ResendValidationEmail" + "ResendValidationEmail": "acm:ResendValidationEmail", + "UpdateCertificateOptions": "acm:UpdateCertificateOptions" }, "acm-pca": { "CreateCertificateAuthority": "acm-pca:CreateCertificateAuthority", "CreateCertificateAuthorityAuditReport": "acm-pca:CreateCertificateAuthorityAuditReport", + "CreatePermission": "acm-pca:CreatePermission", "DeleteCertificateAuthority": "acm-pca:DeleteCertificateAuthority", + "DeletePermission": "acm-pca:DeletePermission", "DescribeCertificateAuthority": "acm-pca:DescribeCertificateAuthority", "DescribeCertificateAuthorityAuditReport": "acm-pca:DescribeCertificateAuthorityAuditReport", "GetCertificate": "acm-pca:GetCertificate", @@ -23,6 +28,7 @@ "ImportCertificateAuthorityCertificate": "acm-pca:ImportCertificateAuthorityCertificate", "IssueCertificate": "acm-pca:IssueCertificate", "ListCertificateAuthorities": "acm-pca:ListCertificateAuthorities", + "ListPermissions": "acm-pca:ListPermissions", "ListTags": "acm-pca:ListTags", "RestoreCertificateAuthority": "acm-pca:RestoreCertificateAuthority", "RevokeCertificate": "acm-pca:RevokeCertificate", @@ -31,29 +37,63 @@ "UpdateCertificateAuthority": "acm-pca:UpdateCertificateAuthority" }, "alexaforbusiness": { + "ApproveSkill": "a4b:ApproveSkill", + "AssociateContactWithAddressBook": "a4b:AssociateContactWithAddressBook", "AssociateDeviceWithRoom": "a4b:AssociateDeviceWithRoom", "AssociateSkillGroupWithRoom": "a4b:AssociateSkillGroupWithRoom", + "AssociateSkillWithSkillGroup": "a4b:AssociateSkillWithSkillGroup", + "AssociateSkillWithUsers": "a4b:AssociateSkillWithUsers", + "CreateAddressBook": "a4b:CreateAddressBook", + "CreateBusinessReportSchedule": "a4b:CreateBusinessReportSchedule", + "CreateConferenceProvider": "a4b:CreateConferenceProvider", + "CreateContact": "a4b:CreateContact", "CreateProfile": "a4b:CreateProfile", "CreateRoom": "a4b:CreateRoom", "CreateSkillGroup": "a4b:CreateSkillGroup", "CreateUser": "a4b:CreateUser", + "DeleteAddressBook": "a4b:DeleteAddressBook", + "DeleteBusinessReportSchedule": "a4b:DeleteBusinessReportSchedule", + "DeleteConferenceProvider": "a4b:DeleteConferenceProvider", + "DeleteContact": "a4b:DeleteContact", + "DeleteDevice": "a4b:DeleteDevice", "DeleteProfile": "a4b:DeleteProfile", "DeleteRoom": "a4b:DeleteRoom", "DeleteRoomSkillParameter": "a4b:DeleteRoomSkillParameter", + "DeleteSkillAuthorization": "a4b:DeleteSkillAuthorization", "DeleteSkillGroup": "a4b:DeleteSkillGroup", "DeleteUser": "a4b:DeleteUser", + "DisassociateContactFromAddressBook": "a4b:DisassociateContactFromAddressBook", "DisassociateDeviceFromRoom": "a4b:DisassociateDeviceFromRoom", + "DisassociateSkillFromSkillGroup": "a4b:DisassociateSkillFromSkillGroup", + "DisassociateSkillFromUsers": "a4b:DisassociateSkillFromUsers", "DisassociateSkillGroupFromRoom": "a4b:DisassociateSkillGroupFromRoom", + "ForgetSmartHomeAppliances": "a4b:ForgetSmartHomeAppliances", + "GetAddressBook": "a4b:GetAddressBook", + "GetConferencePreference": "a4b:GetConferencePreference", + "GetConferenceProvider": "a4b:GetConferenceProvider", + "GetContact": "a4b:GetContact", "GetDevice": "a4b:GetDevice", "GetProfile": "a4b:GetProfile", "GetRoom": "a4b:GetRoom", "GetRoomSkillParameter": "a4b:GetRoomSkillParameter", "GetSkillGroup": "a4b:GetSkillGroup", + "ListBusinessReportSchedules": "a4b:ListBusinessReportSchedules", + "ListConferenceProviders": "a4b:ListConferenceProviders", + "ListDeviceEvents": "a4b:ListDeviceEvents", "ListSkills": "a4b:ListSkills", + "ListSkillsStoreCategories": "a4b:ListSkillsStoreCategories", + "ListSkillsStoreSkillsByCategory": "a4b:ListSkillsStoreSkillsByCategory", + "ListSmartHomeAppliances": "a4b:ListSmartHomeAppliances", "ListTags": "a4b:ListTags", + "PutConferencePreference": "a4b:PutConferencePreference", "PutRoomSkillParameter": "a4b:PutRoomSkillParameter", + "PutSkillAuthorization": "a4b:PutSkillAuthorization", + "RegisterAVSDevice": "a4b:RegisterAVSDevice", + "RejectSkill": "a4b:RejectSkill", "ResolveRoom": "a4b:ResolveRoom", "RevokeInvitation": "a4b:RevokeInvitation", + "SearchAddressBooks": "a4b:SearchAddressBooks", + "SearchContacts": "a4b:SearchContacts", "SearchDevices": "a4b:SearchDevices", "SearchProfiles": "a4b:SearchProfiles", "SearchRooms": "a4b:SearchRooms", @@ -61,13 +101,40 @@ "SearchUsers": "a4b:SearchUsers", "SendInvitation": "a4b:SendInvitation", "StartDeviceSync": "a4b:StartDeviceSync", + "StartSmartHomeApplianceDiscovery": "a4b:StartSmartHomeApplianceDiscovery", "TagResource": "a4b:TagResource", "UntagResource": "a4b:UntagResource", + "UpdateAddressBook": "a4b:UpdateAddressBook", + "UpdateBusinessReportSchedule": "a4b:UpdateBusinessReportSchedule", + "UpdateConferenceProvider": "a4b:UpdateConferenceProvider", + "UpdateContact": "a4b:UpdateContact", "UpdateDevice": "a4b:UpdateDevice", "UpdateProfile": "a4b:UpdateProfile", "UpdateRoom": "a4b:UpdateRoom", "UpdateSkillGroup": "a4b:UpdateSkillGroup" }, + "amplify": { + "CreateApp": "amplify:CreateApp", + "CreateBranch": "amplify:CreateBranch", + "CreateDomainAssociation": "amplify:CreateDomainAssociation", + "DeleteApp": "amplify:DeleteApp", + "DeleteBranch": "amplify:DeleteBranch", + "DeleteDomainAssociation": "amplify:DeleteDomainAssociation", + "DeleteJob": "amplify:DeleteJob", + "GetApp": "amplify:GetApp", + "GetBranch": "amplify:GetBranch", + "GetDomainAssociation": "amplify:GetDomainAssociation", + "GetJob": "amplify:GetJob", + "ListApps": "amplify:ListApps", + "ListBranches": "amplify:ListBranches", + "ListDomainAssociations": "amplify:ListDomainAssociations", + "ListJobs": "amplify:ListJobs", + "StartJob": "amplify:StartJob", + "StopJob": "amplify:StopJob", + "UpdateApp": "amplify:UpdateApp", + "UpdateBranch": "amplify:UpdateBranch", + "UpdateDomainAssociation": "amplify:UpdateDomainAssociation" + }, "application-autoscaling": { "DeleteScalingPolicy": "application-autoscaling:DeleteScalingPolicy", "DeleteScheduledAction": "application-autoscaling:DeleteScheduledAction", @@ -80,26 +147,70 @@ "PutScheduledAction": "application-autoscaling:PutScheduledAction", "RegisterScalableTarget": "application-autoscaling:RegisterScalableTarget" }, + "appmesh": { + "CreateMesh": "appmesh:CreateMesh", + "CreateRoute": "appmesh:CreateRoute", + "CreateVirtualNode": "appmesh:CreateVirtualNode", + "CreateVirtualRouter": "appmesh:CreateVirtualRouter", + "CreateVirtualService": "appmesh:CreateVirtualService", + "DeleteMesh": "appmesh:DeleteMesh", + "DeleteRoute": "appmesh:DeleteRoute", + "DeleteVirtualNode": "appmesh:DeleteVirtualNode", + "DeleteVirtualRouter": "appmesh:DeleteVirtualRouter", + "DeleteVirtualService": "appmesh:DeleteVirtualService", + "DescribeMesh": "appmesh:DescribeMesh", + "DescribeRoute": "appmesh:DescribeRoute", + "DescribeVirtualNode": "appmesh:DescribeVirtualNode", + "DescribeVirtualRouter": "appmesh:DescribeVirtualRouter", + "DescribeVirtualService": "appmesh:DescribeVirtualService", + "ListMeshes": "appmesh:ListMeshes", + "ListRoutes": "appmesh:ListRoutes", + "ListTagsForResource": "appmesh:ListTagsForResource", + "ListVirtualNodes": "appmesh:ListVirtualNodes", + "ListVirtualRouters": "appmesh:ListVirtualRouters", + "ListVirtualServices": "appmesh:ListVirtualServices", + "TagResource": "appmesh:TagResource", + "UntagResource": "appmesh:UntagResource", + "UpdateMesh": "appmesh:UpdateMesh", + "UpdateRoute": "appmesh:UpdateRoute", + "UpdateVirtualNode": "appmesh:UpdateVirtualNode", + "UpdateVirtualRouter": "appmesh:UpdateVirtualRouter", + "UpdateVirtualService": "appmesh:UpdateVirtualService" + }, "appstream": { "AssociateFleet": "appstream:AssociateFleet", + "BatchAssociateUserStack": "appstream:BatchAssociateUserStack", + "BatchDisassociateUserStack": "appstream:BatchDisassociateUserStack", + "CopyImage": "appstream:CopyImage", "CreateDirectoryConfig": "appstream:CreateDirectoryConfig", "CreateFleet": "appstream:CreateFleet", "CreateImageBuilder": "appstream:CreateImageBuilder", "CreateImageBuilderStreamingURL": "appstream:CreateImageBuilderStreamingURL", "CreateStack": "appstream:CreateStack", "CreateStreamingURL": "appstream:CreateStreamingURL", + "CreateUsageReportSubscription": "appstream:CreateUsageReportSubscription", + "CreateUser": "appstream:CreateUser", "DeleteDirectoryConfig": "appstream:DeleteDirectoryConfig", "DeleteFleet": "appstream:DeleteFleet", "DeleteImage": "appstream:DeleteImage", "DeleteImageBuilder": "appstream:DeleteImageBuilder", + "DeleteImagePermissions": "appstream:DeleteImagePermissions", "DeleteStack": "appstream:DeleteStack", + "DeleteUsageReportSubscription": "appstream:DeleteUsageReportSubscription", + "DeleteUser": "appstream:DeleteUser", "DescribeDirectoryConfigs": "appstream:DescribeDirectoryConfigs", "DescribeFleets": "appstream:DescribeFleets", "DescribeImageBuilders": "appstream:DescribeImageBuilders", + "DescribeImagePermissions": "appstream:DescribeImagePermissions", "DescribeImages": "appstream:DescribeImages", "DescribeSessions": "appstream:DescribeSessions", "DescribeStacks": "appstream:DescribeStacks", + "DescribeUsageReportSubscriptions": "appstream:DescribeUsageReportSubscriptions", + "DescribeUserStackAssociations": "appstream:DescribeUserStackAssociations", + "DescribeUsers": "appstream:DescribeUsers", + "DisableUser": "appstream:DisableUser", "DisassociateFleet": "appstream:DisassociateFleet", + "EnableUser": "appstream:EnableUser", "ExpireSession": "appstream:ExpireSession", "ListAssociatedFleets": "appstream:ListAssociatedFleets", "ListAssociatedStacks": "appstream:ListAssociatedStacks", @@ -112,25 +223,36 @@ "UntagResource": "appstream:UntagResource", "UpdateDirectoryConfig": "appstream:UpdateDirectoryConfig", "UpdateFleet": "appstream:UpdateFleet", + "UpdateImagePermissions": "appstream:UpdateImagePermissions", "UpdateStack": "appstream:UpdateStack" }, "athena": { "BatchGetNamedQuery": "athena:BatchGetNamedQuery", "BatchGetQueryExecution": "athena:BatchGetQueryExecution", "CreateNamedQuery": "athena:CreateNamedQuery", + "CreateWorkGroup": "athena:CreateWorkGroup", "DeleteNamedQuery": "athena:DeleteNamedQuery", + "DeleteWorkGroup": "athena:DeleteWorkGroup", "GetNamedQuery": "athena:GetNamedQuery", "GetQueryExecution": "athena:GetQueryExecution", "GetQueryResults": "athena:GetQueryResults", + "GetWorkGroup": "athena:GetWorkGroup", "ListNamedQueries": "athena:ListNamedQueries", "ListQueryExecutions": "athena:ListQueryExecutions", + "ListTagsForResource": "athena:ListTagsForResource", + "ListWorkGroups": "athena:ListWorkGroups", "StartQueryExecution": "athena:StartQueryExecution", - "StopQueryExecution": "athena:StopQueryExecution" + "StopQueryExecution": "athena:StopQueryExecution", + "TagResource": "athena:TagResource", + "UntagResource": "athena:UntagResource", + "UpdateWorkGroup": "athena:UpdateWorkGroup" }, "autoscaling": { "AttachInstances": "autoscaling:AttachInstances", "AttachLoadBalancerTargetGroups": "autoscaling:AttachLoadBalancerTargetGroups", "AttachLoadBalancers": "autoscaling:AttachLoadBalancers", + "BatchDeleteScheduledAction": "autoscaling:BatchDeleteScheduledAction", + "BatchPutScheduledUpdateGroupAction": "autoscaling:BatchPutScheduledUpdateGroupAction", "CompleteLifecycleAction": "autoscaling:CompleteLifecycleAction", "CreateAutoScalingGroup": "autoscaling:CreateAutoScalingGroup", "CreateLaunchConfiguration": "autoscaling:CreateLaunchConfiguration", @@ -185,7 +307,54 @@ "CreateScalingPlan": "autoscaling-plans:CreateScalingPlan", "DeleteScalingPlan": "autoscaling-plans:DeleteScalingPlan", "DescribeScalingPlanResources": "autoscaling-plans:DescribeScalingPlanResources", - "DescribeScalingPlans": "autoscaling-plans:DescribeScalingPlans" + "DescribeScalingPlans": "autoscaling-plans:DescribeScalingPlans", + "GetScalingPlanResourceForecastData": "autoscaling-plans:GetScalingPlanResourceForecastData", + "UpdateScalingPlan": "autoscaling-plans:UpdateScalingPlan" + }, + "backup": { + "CreateBackupPlan": "backup:CreateBackupPlan", + "CreateBackupSelection": "backup:CreateBackupSelection", + "CreateBackupVault": "backup:CreateBackupVault", + "DeleteBackupPlan": "backup:DeleteBackupPlan", + "DeleteBackupSelection": "backup:DeleteBackupSelection", + "DeleteBackupVault": "backup:DeleteBackupVault", + "DeleteBackupVaultAccessPolicy": "backup:DeleteBackupVaultAccessPolicy", + "DeleteBackupVaultNotifications": "backup:DeleteBackupVaultNotifications", + "DeleteRecoveryPoint": "backup:DeleteRecoveryPoint", + "DescribeBackupJob": "backup:DescribeBackupJob", + "DescribeBackupVault": "backup:DescribeBackupVault", + "DescribeProtectedResource": "backup:DescribeProtectedResource", + "DescribeRecoveryPoint": "backup:DescribeRecoveryPoint", + "DescribeRestoreJob": "backup:DescribeRestoreJob", + "ExportBackupPlanTemplate": "backup:ExportBackupPlanTemplate", + "GetBackupPlan": "backup:GetBackupPlan", + "GetBackupPlanFromJSON": "backup:GetBackupPlanFromJSON", + "GetBackupPlanFromTemplate": "backup:GetBackupPlanFromTemplate", + "GetBackupSelection": "backup:GetBackupSelection", + "GetBackupVaultAccessPolicy": "backup:GetBackupVaultAccessPolicy", + "GetBackupVaultNotifications": "backup:GetBackupVaultNotifications", + "GetRecoveryPointRestoreMetadata": "backup:GetRecoveryPointRestoreMetadata", + "GetSupportedResourceTypes": "backup:GetSupportedResourceTypes", + "ListBackupJobs": "backup:ListBackupJobs", + "ListBackupPlanTemplates": "backup:ListBackupPlanTemplates", + "ListBackupPlanVersions": "backup:ListBackupPlanVersions", + "ListBackupPlans": "backup:ListBackupPlans", + "ListBackupSelections": "backup:ListBackupSelections", + "ListBackupVaults": "backup:ListBackupVaults", + "ListProtectedResources": "backup:ListProtectedResources", + "ListRecoveryPointsByBackupVault": "backup:ListRecoveryPointsByBackupVault", + "ListRecoveryPointsByResource": "backup:ListRecoveryPointsByResource", + "ListRestoreJobs": "backup:ListRestoreJobs", + "ListTags": "backup:ListTags", + "PutBackupVaultAccessPolicy": "backup:PutBackupVaultAccessPolicy", + "PutBackupVaultNotifications": "backup:PutBackupVaultNotifications", + "StartBackupJob": "backup:StartBackupJob", + "StartRestoreJob": "backup:StartRestoreJob", + "StopBackupJob": "backup:StopBackupJob", + "TagResource": "backup:TagResource", + "UntagResource": "backup:UntagResource", + "UpdateBackupPlan": "backup:UpdateBackupPlan", + "UpdateRecoveryPointLifecycle": "backup:UpdateRecoveryPointLifecycle" }, "batch": { "CancelJob": "batch:CancelJob", @@ -206,6 +375,66 @@ "UpdateJobQueue": "batch:UpdateJobQueue" }, "budgets": {}, + "chime": { + "AssociatePhoneNumberWithUser": "chime:AssociatePhoneNumberWithUser", + "AssociatePhoneNumbersWithVoiceConnector": "chime:AssociatePhoneNumbersWithVoiceConnector", + "BatchDeletePhoneNumber": "chime:BatchDeletePhoneNumber", + "BatchSuspendUser": "chime:BatchSuspendUser", + "BatchUnsuspendUser": "chime:BatchUnsuspendUser", + "BatchUpdatePhoneNumber": "chime:BatchUpdatePhoneNumber", + "BatchUpdateUser": "chime:BatchUpdateUser", + "CreateAccount": "chime:CreateAccount", + "CreateBot": "chime:CreateBot", + "CreatePhoneNumberOrder": "chime:CreatePhoneNumberOrder", + "CreateVoiceConnector": "chime:CreateVoiceConnector", + "DeleteAccount": "chime:DeleteAccount", + "DeleteEventsConfiguration": "chime:DeleteEventsConfiguration", + "DeletePhoneNumber": "chime:DeletePhoneNumber", + "DeleteVoiceConnector": "chime:DeleteVoiceConnector", + "DeleteVoiceConnectorOrigination": "chime:DeleteVoiceConnectorOrigination", + "DeleteVoiceConnectorTermination": "chime:DeleteVoiceConnectorTermination", + "DeleteVoiceConnectorTerminationCredentials": "chime:DeleteVoiceConnectorTerminationCredentials", + "DisassociatePhoneNumberFromUser": "chime:DisassociatePhoneNumberFromUser", + "DisassociatePhoneNumbersFromVoiceConnector": "chime:DisassociatePhoneNumbersFromVoiceConnector", + "GetAccount": "chime:GetAccount", + "GetAccountSettings": "chime:GetAccountSettings", + "GetBot": "chime:GetBot", + "GetEventsConfiguration": "chime:GetEventsConfiguration", + "GetGlobalSettings": "chime:GetGlobalSettings", + "GetPhoneNumber": "chime:GetPhoneNumber", + "GetPhoneNumberOrder": "chime:GetPhoneNumberOrder", + "GetUser": "chime:GetUser", + "GetUserSettings": "chime:GetUserSettings", + "GetVoiceConnector": "chime:GetVoiceConnector", + "GetVoiceConnectorOrigination": "chime:GetVoiceConnectorOrigination", + "GetVoiceConnectorTermination": "chime:GetVoiceConnectorTermination", + "GetVoiceConnectorTerminationHealth": "chime:GetVoiceConnectorTerminationHealth", + "InviteUsers": "chime:InviteUsers", + "ListAccounts": "chime:ListAccounts", + "ListBots": "chime:ListBots", + "ListPhoneNumberOrders": "chime:ListPhoneNumberOrders", + "ListPhoneNumbers": "chime:ListPhoneNumbers", + "ListUsers": "chime:ListUsers", + "ListVoiceConnectorTerminationCredentials": "chime:ListVoiceConnectorTerminationCredentials", + "ListVoiceConnectors": "chime:ListVoiceConnectors", + "LogoutUser": "chime:LogoutUser", + "PutEventsConfiguration": "chime:PutEventsConfiguration", + "PutVoiceConnectorOrigination": "chime:PutVoiceConnectorOrigination", + "PutVoiceConnectorTermination": "chime:PutVoiceConnectorTermination", + "PutVoiceConnectorTerminationCredentials": "chime:PutVoiceConnectorTerminationCredentials", + "RegenerateSecurityToken": "chime:RegenerateSecurityToken", + "ResetPersonalPIN": "chime:ResetPersonalPIN", + "RestorePhoneNumber": "chime:RestorePhoneNumber", + "SearchAvailablePhoneNumbers": "chime:SearchAvailablePhoneNumbers", + "UpdateAccount": "chime:UpdateAccount", + "UpdateAccountSettings": "chime:UpdateAccountSettings", + "UpdateBot": "chime:UpdateBot", + "UpdateGlobalSettings": "chime:UpdateGlobalSettings", + "UpdatePhoneNumber": "chime:UpdatePhoneNumber", + "UpdateUser": "chime:UpdateUser", + "UpdateUserSettings": "chime:UpdateUserSettings", + "UpdateVoiceConnector": "chime:UpdateVoiceConnector" + }, "clouddirectory": { "AddFacetToObject": "clouddirectory:AddFacetToObject", "ApplySchema": "clouddirectory:ApplySchema", @@ -283,13 +512,17 @@ "DeleteStackSet": "cloudformation:DeleteStackSet", "DescribeAccountLimits": "cloudformation:DescribeAccountLimits", "DescribeChangeSet": "cloudformation:DescribeChangeSet", + "DescribeStackDriftDetectionStatus": "cloudformation:DescribeStackDriftDetectionStatus", "DescribeStackEvents": "cloudformation:DescribeStackEvents", "DescribeStackInstance": "cloudformation:DescribeStackInstance", "DescribeStackResource": "cloudformation:DescribeStackResource", + "DescribeStackResourceDrifts": "cloudformation:DescribeStackResourceDrifts", "DescribeStackResources": "cloudformation:DescribeStackResources", "DescribeStackSet": "cloudformation:DescribeStackSet", "DescribeStackSetOperation": "cloudformation:DescribeStackSetOperation", "DescribeStacks": "cloudformation:DescribeStacks", + "DetectStackDrift": "cloudformation:DetectStackDrift", + "DetectStackResourceDrift": "cloudformation:DetectStackResourceDrift", "EstimateTemplateCost": "cloudformation:EstimateTemplateCost", "ExecuteChangeSet": "cloudformation:ExecuteChangeSet", "GetStackPolicy": "cloudformation:GetStackPolicy", @@ -429,34 +662,47 @@ "GetDashboard": "cloudwatch:GetDashboard", "GetMetricData": "cloudwatch:GetMetricData", "GetMetricStatistics": "cloudwatch:GetMetricStatistics", + "GetMetricWidgetImage": "cloudwatch:GetMetricWidgetImage", "ListDashboards": "cloudwatch:ListDashboards", "ListMetrics": "cloudwatch:ListMetrics", + "ListTagsForResource": "cloudwatch:ListTagsForResource", "PutDashboard": "cloudwatch:PutDashboard", "PutMetricAlarm": "cloudwatch:PutMetricAlarm", "PutMetricData": "cloudwatch:PutMetricData", - "SetAlarmState": "cloudwatch:SetAlarmState" + "SetAlarmState": "cloudwatch:SetAlarmState", + "TagResource": "cloudwatch:TagResource", + "UntagResource": "cloudwatch:UntagResource" }, "codebuild": { "BatchDeleteBuilds": "codebuild:BatchDeleteBuilds", "BatchGetBuilds": "codebuild:BatchGetBuilds", "BatchGetProjects": "codebuild:BatchGetProjects", "CreateProject": "codebuild:CreateProject", + "CreateWebhook": "codebuild:CreateWebhook", "DeleteProject": "codebuild:DeleteProject", + "DeleteSourceCredentials": "codebuild:DeleteSourceCredentials", + "DeleteWebhook": "codebuild:DeleteWebhook", + "ImportSourceCredentials": "codebuild:ImportSourceCredentials", + "InvalidateProjectCache": "codebuild:InvalidateProjectCache", "ListBuilds": "codebuild:ListBuilds", "ListBuildsForProject": "codebuild:ListBuildsForProject", "ListCuratedEnvironmentImages": "codebuild:ListCuratedEnvironmentImages", "ListProjects": "codebuild:ListProjects", + "ListSourceCredentials": "codebuild:ListSourceCredentials", "StartBuild": "codebuild:StartBuild", "StopBuild": "codebuild:StopBuild", - "UpdateProject": "codebuild:UpdateProject" + "UpdateProject": "codebuild:UpdateProject", + "UpdateWebhook": "codebuild:UpdateWebhook" }, "codecommit": { "BatchGetRepositories": "codecommit:BatchGetRepositories", "CreateBranch": "codecommit:CreateBranch", + "CreateCommit": "codecommit:CreateCommit", "CreatePullRequest": "codecommit:CreatePullRequest", "CreateRepository": "codecommit:CreateRepository", "DeleteBranch": "codecommit:DeleteBranch", "DeleteCommentContent": "codecommit:DeleteCommentContent", + "DeleteFile": "codecommit:DeleteFile", "DeleteRepository": "codecommit:DeleteRepository", "DescribePullRequestEvents": "codecommit:DescribePullRequestEvents", "GetBlob": "codecommit:GetBlob", @@ -466,6 +712,8 @@ "GetCommentsForPullRequest": "codecommit:GetCommentsForPullRequest", "GetCommit": "codecommit:GetCommit", "GetDifferences": "codecommit:GetDifferences", + "GetFile": "codecommit:GetFile", + "GetFolder": "codecommit:GetFolder", "GetMergeConflicts": "codecommit:GetMergeConflicts", "GetPullRequest": "codecommit:GetPullRequest", "GetRepository": "codecommit:GetRepository", @@ -473,13 +721,16 @@ "ListBranches": "codecommit:ListBranches", "ListPullRequests": "codecommit:ListPullRequests", "ListRepositories": "codecommit:ListRepositories", + "ListTagsForResource": "codecommit:ListTagsForResource", "MergePullRequestByFastForward": "codecommit:MergePullRequestByFastForward", "PostCommentForComparedCommit": "codecommit:PostCommentForComparedCommit", "PostCommentForPullRequest": "codecommit:PostCommentForPullRequest", "PostCommentReply": "codecommit:PostCommentReply", "PutFile": "codecommit:PutFile", "PutRepositoryTriggers": "codecommit:PutRepositoryTriggers", + "TagResource": "codecommit:TagResource", "TestRepositoryTriggers": "codecommit:TestRepositoryTriggers", + "UntagResource": "codecommit:UntagResource", "UpdateComment": "codecommit:UpdateComment", "UpdateDefaultBranch": "codecommit:UpdateDefaultBranch", "UpdatePullRequestDescription": "codecommit:UpdatePullRequestDescription", @@ -543,9 +794,11 @@ "GetPipelineExecution": "codepipeline:GetPipelineExecution", "GetPipelineState": "codepipeline:GetPipelineState", "GetThirdPartyJobDetails": "codepipeline:GetThirdPartyJobDetails", + "ListActionExecutions": "codepipeline:ListActionExecutions", "ListActionTypes": "codepipeline:ListActionTypes", "ListPipelineExecutions": "codepipeline:ListPipelineExecutions", "ListPipelines": "codepipeline:ListPipelines", + "ListTagsForResource": "codepipeline:ListTagsForResource", "ListWebhooks": "codepipeline:ListWebhooks", "PollForJobs": "codepipeline:PollForJobs", "PollForThirdPartyJobs": "codepipeline:PollForThirdPartyJobs", @@ -559,6 +812,8 @@ "RegisterWebhookWithThirdParty": "codepipeline:RegisterWebhookWithThirdParty", "RetryStageExecution": "codepipeline:RetryStageExecution", "StartPipelineExecution": "codepipeline:StartPipelineExecution", + "TagResource": "codepipeline:TagResource", + "UntagResource": "codepipeline:UntagResource", "UpdatePipeline": "codepipeline:UpdatePipeline" }, "codestar": { @@ -591,11 +846,14 @@ "GetOpenIdTokenForDeveloperIdentity": "cognito-identity:GetOpenIdTokenForDeveloperIdentity", "ListIdentities": "cognito-identity:ListIdentities", "ListIdentityPools": "cognito-identity:ListIdentityPools", + "ListTagsForResource": "cognito-identity:ListTagsForResource", "LookupDeveloperIdentity": "cognito-identity:LookupDeveloperIdentity", "MergeDeveloperIdentities": "cognito-identity:MergeDeveloperIdentities", "SetIdentityPoolRoles": "cognito-identity:SetIdentityPoolRoles", + "TagResource": "cognito-identity:TagResource", "UnlinkDeveloperIdentity": "cognito-identity:UnlinkDeveloperIdentity", "UnlinkIdentity": "cognito-identity:UnlinkIdentity", + "UntagResource": "cognito-identity:UntagResource", "UpdateIdentityPool": "cognito-identity:UpdateIdentityPool" }, "cognito-idp": { @@ -605,12 +863,14 @@ "AdminCreateUser": "cognito-idp:AdminCreateUser", "AdminDeleteUser": "cognito-idp:AdminDeleteUser", "AdminDeleteUserAttributes": "cognito-idp:AdminDeleteUserAttributes", + "AdminDisableProviderForUser": "cognito-idp:AdminDisableProviderForUser", "AdminDisableUser": "cognito-idp:AdminDisableUser", "AdminEnableUser": "cognito-idp:AdminEnableUser", "AdminForgetDevice": "cognito-idp:AdminForgetDevice", "AdminGetDevice": "cognito-idp:AdminGetDevice", "AdminGetUser": "cognito-idp:AdminGetUser", "AdminInitiateAuth": "cognito-idp:AdminInitiateAuth", + "AdminLinkProviderForUser": "cognito-idp:AdminLinkProviderForUser", "AdminListDevices": "cognito-idp:AdminListDevices", "AdminListGroupsForUser": "cognito-idp:AdminListGroupsForUser", "AdminListUserAuthEvents": "cognito-idp:AdminListUserAuthEvents", @@ -618,33 +878,47 @@ "AdminResetUserPassword": "cognito-idp:AdminResetUserPassword", "AdminRespondToAuthChallenge": "cognito-idp:AdminRespondToAuthChallenge", "AdminSetUserMFAPreference": "cognito-idp:AdminSetUserMFAPreference", + "AdminSetUserPassword": "cognito-idp:AdminSetUserPassword", "AdminSetUserSettings": "cognito-idp:AdminSetUserSettings", "AdminUpdateAuthEventFeedback": "cognito-idp:AdminUpdateAuthEventFeedback", "AdminUpdateDeviceStatus": "cognito-idp:AdminUpdateDeviceStatus", "AdminUpdateUserAttributes": "cognito-idp:AdminUpdateUserAttributes", "AdminUserGlobalSignOut": "cognito-idp:AdminUserGlobalSignOut", + "AssociateSoftwareToken": "cognito-idp:AssociateSoftwareToken", "ChangePassword": "cognito-idp:ChangePassword", "ConfirmDevice": "cognito-idp:ConfirmDevice", "ConfirmForgotPassword": "cognito-idp:ConfirmForgotPassword", "ConfirmSignUp": "cognito-idp:ConfirmSignUp", "CreateGroup": "cognito-idp:CreateGroup", + "CreateIdentityProvider": "cognito-idp:CreateIdentityProvider", + "CreateResourceServer": "cognito-idp:CreateResourceServer", "CreateUserImportJob": "cognito-idp:CreateUserImportJob", "CreateUserPool": "cognito-idp:CreateUserPool", "CreateUserPoolClient": "cognito-idp:CreateUserPoolClient", + "CreateUserPoolDomain": "cognito-idp:CreateUserPoolDomain", "DeleteGroup": "cognito-idp:DeleteGroup", + "DeleteIdentityProvider": "cognito-idp:DeleteIdentityProvider", + "DeleteResourceServer": "cognito-idp:DeleteResourceServer", "DeleteUser": "cognito-idp:DeleteUser", "DeleteUserAttributes": "cognito-idp:DeleteUserAttributes", "DeleteUserPool": "cognito-idp:DeleteUserPool", "DeleteUserPoolClient": "cognito-idp:DeleteUserPoolClient", + "DeleteUserPoolDomain": "cognito-idp:DeleteUserPoolDomain", + "DescribeIdentityProvider": "cognito-idp:DescribeIdentityProvider", + "DescribeResourceServer": "cognito-idp:DescribeResourceServer", "DescribeRiskConfiguration": "cognito-idp:DescribeRiskConfiguration", "DescribeUserImportJob": "cognito-idp:DescribeUserImportJob", "DescribeUserPool": "cognito-idp:DescribeUserPool", "DescribeUserPoolClient": "cognito-idp:DescribeUserPoolClient", + "DescribeUserPoolDomain": "cognito-idp:DescribeUserPoolDomain", "ForgetDevice": "cognito-idp:ForgetDevice", "ForgotPassword": "cognito-idp:ForgotPassword", "GetCSVHeader": "cognito-idp:GetCSVHeader", "GetDevice": "cognito-idp:GetDevice", "GetGroup": "cognito-idp:GetGroup", + "GetIdentityProviderByIdentifier": "cognito-idp:GetIdentityProviderByIdentifier", + "GetSigningCertificate": "cognito-idp:GetSigningCertificate", + "GetUICustomization": "cognito-idp:GetUICustomization", "GetUser": "cognito-idp:GetUser", "GetUserAttributeVerificationCode": "cognito-idp:GetUserAttributeVerificationCode", "GetUserPoolMfaConfig": "cognito-idp:GetUserPoolMfaConfig", @@ -652,6 +926,9 @@ "InitiateAuth": "cognito-idp:InitiateAuth", "ListDevices": "cognito-idp:ListDevices", "ListGroups": "cognito-idp:ListGroups", + "ListIdentityProviders": "cognito-idp:ListIdentityProviders", + "ListResourceServers": "cognito-idp:ListResourceServers", + "ListTagsForResource": "cognito-idp:ListTagsForResource", "ListUserImportJobs": "cognito-idp:ListUserImportJobs", "ListUserPoolClients": "cognito-idp:ListUserPoolClients", "ListUserPools": "cognito-idp:ListUserPools", @@ -660,18 +937,25 @@ "ResendConfirmationCode": "cognito-idp:ResendConfirmationCode", "RespondToAuthChallenge": "cognito-idp:RespondToAuthChallenge", "SetRiskConfiguration": "cognito-idp:SetRiskConfiguration", + "SetUICustomization": "cognito-idp:SetUICustomization", "SetUserMFAPreference": "cognito-idp:SetUserMFAPreference", "SetUserPoolMfaConfig": "cognito-idp:SetUserPoolMfaConfig", "SetUserSettings": "cognito-idp:SetUserSettings", "SignUp": "cognito-idp:SignUp", "StartUserImportJob": "cognito-idp:StartUserImportJob", "StopUserImportJob": "cognito-idp:StopUserImportJob", + "TagResource": "cognito-idp:TagResource", + "UntagResource": "cognito-idp:UntagResource", "UpdateAuthEventFeedback": "cognito-idp:UpdateAuthEventFeedback", "UpdateDeviceStatus": "cognito-idp:UpdateDeviceStatus", "UpdateGroup": "cognito-idp:UpdateGroup", + "UpdateIdentityProvider": "cognito-idp:UpdateIdentityProvider", + "UpdateResourceServer": "cognito-idp:UpdateResourceServer", "UpdateUserAttributes": "cognito-idp:UpdateUserAttributes", "UpdateUserPool": "cognito-idp:UpdateUserPool", "UpdateUserPoolClient": "cognito-idp:UpdateUserPoolClient", + "UpdateUserPoolDomain": "cognito-idp:UpdateUserPoolDomain", + "VerifySoftwareToken": "cognito-idp:VerifySoftwareToken", "VerifyUserAttribute": "cognito-idp:VerifyUserAttribute" }, "cognito-sync": { @@ -698,43 +982,114 @@ "BatchDetectEntities": "comprehend:BatchDetectEntities", "BatchDetectKeyPhrases": "comprehend:BatchDetectKeyPhrases", "BatchDetectSentiment": "comprehend:BatchDetectSentiment", + "BatchDetectSyntax": "comprehend:BatchDetectSyntax", + "CreateDocumentClassifier": "comprehend:CreateDocumentClassifier", + "CreateEntityRecognizer": "comprehend:CreateEntityRecognizer", + "DeleteDocumentClassifier": "comprehend:DeleteDocumentClassifier", + "DeleteEntityRecognizer": "comprehend:DeleteEntityRecognizer", + "DescribeDocumentClassificationJob": "comprehend:DescribeDocumentClassificationJob", + "DescribeDocumentClassifier": "comprehend:DescribeDocumentClassifier", + "DescribeDominantLanguageDetectionJob": "comprehend:DescribeDominantLanguageDetectionJob", + "DescribeEntitiesDetectionJob": "comprehend:DescribeEntitiesDetectionJob", + "DescribeEntityRecognizer": "comprehend:DescribeEntityRecognizer", + "DescribeKeyPhrasesDetectionJob": "comprehend:DescribeKeyPhrasesDetectionJob", + "DescribeSentimentDetectionJob": "comprehend:DescribeSentimentDetectionJob", "DescribeTopicsDetectionJob": "comprehend:DescribeTopicsDetectionJob", "DetectDominantLanguage": "comprehend:DetectDominantLanguage", "DetectEntities": "comprehend:DetectEntities", "DetectKeyPhrases": "comprehend:DetectKeyPhrases", "DetectSentiment": "comprehend:DetectSentiment", + "DetectSyntax": "comprehend:DetectSyntax", + "ListDocumentClassificationJobs": "comprehend:ListDocumentClassificationJobs", + "ListDocumentClassifiers": "comprehend:ListDocumentClassifiers", + "ListDominantLanguageDetectionJobs": "comprehend:ListDominantLanguageDetectionJobs", + "ListEntitiesDetectionJobs": "comprehend:ListEntitiesDetectionJobs", + "ListEntityRecognizers": "comprehend:ListEntityRecognizers", + "ListKeyPhrasesDetectionJobs": "comprehend:ListKeyPhrasesDetectionJobs", + "ListSentimentDetectionJobs": "comprehend:ListSentimentDetectionJobs", + "ListTagsForResource": "comprehend:ListTagsForResource", "ListTopicsDetectionJobs": "comprehend:ListTopicsDetectionJobs", - "StartTopicsDetectionJob": "comprehend:StartTopicsDetectionJob" + "StartDocumentClassificationJob": "comprehend:StartDocumentClassificationJob", + "StartDominantLanguageDetectionJob": "comprehend:StartDominantLanguageDetectionJob", + "StartEntitiesDetectionJob": "comprehend:StartEntitiesDetectionJob", + "StartKeyPhrasesDetectionJob": "comprehend:StartKeyPhrasesDetectionJob", + "StartSentimentDetectionJob": "comprehend:StartSentimentDetectionJob", + "StartTopicsDetectionJob": "comprehend:StartTopicsDetectionJob", + "StopDominantLanguageDetectionJob": "comprehend:StopDominantLanguageDetectionJob", + "StopEntitiesDetectionJob": "comprehend:StopEntitiesDetectionJob", + "StopKeyPhrasesDetectionJob": "comprehend:StopKeyPhrasesDetectionJob", + "StopSentimentDetectionJob": "comprehend:StopSentimentDetectionJob", + "StopTrainingDocumentClassifier": "comprehend:StopTrainingDocumentClassifier", + "StopTrainingEntityRecognizer": "comprehend:StopTrainingEntityRecognizer", + "TagResource": "comprehend:TagResource", + "UntagResource": "comprehend:UntagResource" + }, + "comprehendmedical": { + "DetectEntities": "comprehendmedical:DetectEntities", + "DetectPHI": "comprehendmedical:DetectPHI" }, "config": { + "BatchGetAggregateResourceConfig": "config:BatchGetAggregateResourceConfig", + "BatchGetResourceConfig": "config:BatchGetResourceConfig", + "DeleteAggregationAuthorization": "config:DeleteAggregationAuthorization", "DeleteConfigRule": "config:DeleteConfigRule", + "DeleteConfigurationAggregator": "config:DeleteConfigurationAggregator", "DeleteConfigurationRecorder": "config:DeleteConfigurationRecorder", "DeleteDeliveryChannel": "config:DeleteDeliveryChannel", "DeleteEvaluationResults": "config:DeleteEvaluationResults", + "DeletePendingAggregationRequest": "config:DeletePendingAggregationRequest", + "DeleteRemediationConfiguration": "config:DeleteRemediationConfiguration", + "DeleteRetentionConfiguration": "config:DeleteRetentionConfiguration", "DeliverConfigSnapshot": "config:DeliverConfigSnapshot", + "DescribeAggregateComplianceByConfigRules": "config:DescribeAggregateComplianceByConfigRules", + "DescribeAggregationAuthorizations": "config:DescribeAggregationAuthorizations", "DescribeComplianceByConfigRule": "config:DescribeComplianceByConfigRule", "DescribeComplianceByResource": "config:DescribeComplianceByResource", "DescribeConfigRuleEvaluationStatus": "config:DescribeConfigRuleEvaluationStatus", "DescribeConfigRules": "config:DescribeConfigRules", + "DescribeConfigurationAggregatorSourcesStatus": "config:DescribeConfigurationAggregatorSourcesStatus", + "DescribeConfigurationAggregators": "config:DescribeConfigurationAggregators", "DescribeConfigurationRecorderStatus": "config:DescribeConfigurationRecorderStatus", "DescribeConfigurationRecorders": "config:DescribeConfigurationRecorders", "DescribeDeliveryChannelStatus": "config:DescribeDeliveryChannelStatus", "DescribeDeliveryChannels": "config:DescribeDeliveryChannels", + "DescribePendingAggregationRequests": "config:DescribePendingAggregationRequests", + "DescribeRemediationConfigurations": "config:DescribeRemediationConfigurations", + "DescribeRemediationExecutionStatus": "config:DescribeRemediationExecutionStatus", + "DescribeRetentionConfigurations": "config:DescribeRetentionConfigurations", + "GetAggregateComplianceDetailsByConfigRule": "config:GetAggregateComplianceDetailsByConfigRule", + "GetAggregateConfigRuleComplianceSummary": "config:GetAggregateConfigRuleComplianceSummary", + "GetAggregateDiscoveredResourceCounts": "config:GetAggregateDiscoveredResourceCounts", + "GetAggregateResourceConfig": "config:GetAggregateResourceConfig", "GetComplianceDetailsByConfigRule": "config:GetComplianceDetailsByConfigRule", "GetComplianceDetailsByResource": "config:GetComplianceDetailsByResource", "GetComplianceSummaryByConfigRule": "config:GetComplianceSummaryByConfigRule", "GetComplianceSummaryByResourceType": "config:GetComplianceSummaryByResourceType", + "GetDiscoveredResourceCounts": "config:GetDiscoveredResourceCounts", "GetResourceConfigHistory": "config:GetResourceConfigHistory", + "ListAggregateDiscoveredResources": "config:ListAggregateDiscoveredResources", "ListDiscoveredResources": "config:ListDiscoveredResources", + "ListTagsForResource": "config:ListTagsForResource", + "PutAggregationAuthorization": "config:PutAggregationAuthorization", "PutConfigRule": "config:PutConfigRule", + "PutConfigurationAggregator": "config:PutConfigurationAggregator", "PutConfigurationRecorder": "config:PutConfigurationRecorder", "PutDeliveryChannel": "config:PutDeliveryChannel", "PutEvaluations": "config:PutEvaluations", + "PutRemediationConfigurations": "config:PutRemediationConfigurations", + "PutRetentionConfiguration": "config:PutRetentionConfiguration", + "SelectResourceConfig": "config:SelectResourceConfig", "StartConfigRulesEvaluation": "config:StartConfigRulesEvaluation", "StartConfigurationRecorder": "config:StartConfigurationRecorder", - "StopConfigurationRecorder": "config:StopConfigurationRecorder" + "StartRemediationExecution": "config:StartRemediationExecution", + "StopConfigurationRecorder": "config:StopConfigurationRecorder", + "TagResource": "config:TagResource", + "UntagResource": "config:UntagResource" }, "connect": { + "GetCurrentMetricData": "connect:GetCurrentMetricData", + "GetFederationToken": "connect:GetFederationToken", + "GetMetricData": "connect:GetMetricData", "StartOutboundVoiceContact": "connect:StartOutboundVoiceContact", "StopContact": "connect:StopContact" }, @@ -764,6 +1119,33 @@ "SetTaskStatus": "datapipeline:SetTaskStatus", "ValidatePipelineDefinition": "datapipeline:ValidatePipelineDefinition" }, + "datasync": { + "CancelTaskExecution": "datasync:CancelTaskExecution", + "CreateAgent": "datasync:CreateAgent", + "CreateLocationEfs": "datasync:CreateLocationEfs", + "CreateLocationNfs": "datasync:CreateLocationNfs", + "CreateLocationS3": "datasync:CreateLocationS3", + "CreateTask": "datasync:CreateTask", + "DeleteAgent": "datasync:DeleteAgent", + "DeleteLocation": "datasync:DeleteLocation", + "DeleteTask": "datasync:DeleteTask", + "DescribeAgent": "datasync:DescribeAgent", + "DescribeLocationEfs": "datasync:DescribeLocationEfs", + "DescribeLocationNfs": "datasync:DescribeLocationNfs", + "DescribeLocationS3": "datasync:DescribeLocationS3", + "DescribeTask": "datasync:DescribeTask", + "DescribeTaskExecution": "datasync:DescribeTaskExecution", + "ListAgents": "datasync:ListAgents", + "ListLocations": "datasync:ListLocations", + "ListTagsForResource": "datasync:ListTagsForResource", + "ListTaskExecutions": "datasync:ListTaskExecutions", + "ListTasks": "datasync:ListTasks", + "StartTaskExecution": "datasync:StartTaskExecution", + "TagResource": "datasync:TagResource", + "UntagResource": "datasync:UntagResource", + "UpdateAgent": "datasync:UpdateAgent", + "UpdateTask": "datasync:UpdateTask" + }, "dax": { "CreateCluster": "dax:CreateCluster", "CreateParameterGroup": "dax:CreateParameterGroup", @@ -839,47 +1221,85 @@ }, "directconnect": { "AllocateConnectionOnInterconnect": "directconnect:AllocateConnectionOnInterconnect", + "AllocateHostedConnection": "directconnect:AllocateHostedConnection", "AllocatePrivateVirtualInterface": "directconnect:AllocatePrivateVirtualInterface", "AllocatePublicVirtualInterface": "directconnect:AllocatePublicVirtualInterface", + "AssociateConnectionWithLag": "directconnect:AssociateConnectionWithLag", + "AssociateHostedConnection": "directconnect:AssociateHostedConnection", + "AssociateVirtualInterface": "directconnect:AssociateVirtualInterface", "ConfirmConnection": "directconnect:ConfirmConnection", "ConfirmPrivateVirtualInterface": "directconnect:ConfirmPrivateVirtualInterface", "ConfirmPublicVirtualInterface": "directconnect:ConfirmPublicVirtualInterface", + "CreateBGPPeer": "directconnect:CreateBGPPeer", "CreateConnection": "directconnect:CreateConnection", + "CreateDirectConnectGateway": "directconnect:CreateDirectConnectGateway", + "CreateDirectConnectGatewayAssociation": "directconnect:CreateDirectConnectGatewayAssociation", "CreateInterconnect": "directconnect:CreateInterconnect", + "CreateLag": "directconnect:CreateLag", "CreatePrivateVirtualInterface": "directconnect:CreatePrivateVirtualInterface", "CreatePublicVirtualInterface": "directconnect:CreatePublicVirtualInterface", + "DeleteBGPPeer": "directconnect:DeleteBGPPeer", "DeleteConnection": "directconnect:DeleteConnection", + "DeleteDirectConnectGateway": "directconnect:DeleteDirectConnectGateway", + "DeleteDirectConnectGatewayAssociation": "directconnect:DeleteDirectConnectGatewayAssociation", "DeleteInterconnect": "directconnect:DeleteInterconnect", + "DeleteLag": "directconnect:DeleteLag", "DeleteVirtualInterface": "directconnect:DeleteVirtualInterface", "DescribeConnectionLoa": "directconnect:DescribeConnectionLoa", "DescribeConnections": "directconnect:DescribeConnections", "DescribeConnectionsOnInterconnect": "directconnect:DescribeConnectionsOnInterconnect", + "DescribeDirectConnectGatewayAssociations": "directconnect:DescribeDirectConnectGatewayAssociations", + "DescribeDirectConnectGatewayAttachments": "directconnect:DescribeDirectConnectGatewayAttachments", + "DescribeDirectConnectGateways": "directconnect:DescribeDirectConnectGateways", + "DescribeHostedConnections": "directconnect:DescribeHostedConnections", "DescribeInterconnectLoa": "directconnect:DescribeInterconnectLoa", "DescribeInterconnects": "directconnect:DescribeInterconnects", + "DescribeLags": "directconnect:DescribeLags", + "DescribeLoa": "directconnect:DescribeLoa", "DescribeLocations": "directconnect:DescribeLocations", + "DescribeTags": "directconnect:DescribeTags", "DescribeVirtualGateways": "directconnect:DescribeVirtualGateways", - "DescribeVirtualInterfaces": "directconnect:DescribeVirtualInterfaces" + "DescribeVirtualInterfaces": "directconnect:DescribeVirtualInterfaces", + "DisassociateConnectionFromLag": "directconnect:DisassociateConnectionFromLag", + "TagResource": "directconnect:TagResource", + "UntagResource": "directconnect:UntagResource", + "UpdateLag": "directconnect:UpdateLag", + "UpdateVirtualInterfaceAttributes": "directconnect:UpdateVirtualInterfaceAttributes" }, "discovery": { "AssociateConfigurationItemsToApplication": "discovery:AssociateConfigurationItemsToApplication", + "BatchDeleteImportData": "discovery:BatchDeleteImportData", "CreateApplication": "discovery:CreateApplication", "CreateTags": "discovery:CreateTags", "DeleteApplications": "discovery:DeleteApplications", "DeleteTags": "discovery:DeleteTags", "DescribeAgents": "discovery:DescribeAgents", "DescribeConfigurations": "discovery:DescribeConfigurations", + "DescribeContinuousExports": "discovery:DescribeContinuousExports", "DescribeExportConfigurations": "discovery:DescribeExportConfigurations", + "DescribeExportTasks": "discovery:DescribeExportTasks", + "DescribeImportTasks": "discovery:DescribeImportTasks", "DescribeTags": "discovery:DescribeTags", "DisassociateConfigurationItemsFromApplication": "discovery:DisassociateConfigurationItemsFromApplication", "ExportConfigurations": "discovery:ExportConfigurations", "GetDiscoverySummary": "discovery:GetDiscoverySummary", "ListConfigurations": "discovery:ListConfigurations", "ListServerNeighbors": "discovery:ListServerNeighbors", + "StartContinuousExport": "discovery:StartContinuousExport", "StartDataCollectionByAgentIds": "discovery:StartDataCollectionByAgentIds", "StartExportTask": "discovery:StartExportTask", + "StartImportTask": "discovery:StartImportTask", + "StopContinuousExport": "discovery:StopContinuousExport", "StopDataCollectionByAgentIds": "discovery:StopDataCollectionByAgentIds", "UpdateApplication": "discovery:UpdateApplication" }, + "dlm": { + "CreateLifecyclePolicy": "dlm:CreateLifecyclePolicy", + "DeleteLifecyclePolicy": "dlm:DeleteLifecyclePolicy", + "GetLifecyclePolicies": "dlm:GetLifecyclePolicies", + "GetLifecyclePolicy": "dlm:GetLifecyclePolicy", + "UpdateLifecyclePolicy": "dlm:UpdateLifecyclePolicy" + }, "dms": { "AddTagsToResource": "dms:AddTagsToResource", "CreateEndpoint": "dms:CreateEndpoint", @@ -919,6 +1339,7 @@ "TestConnection": "dms:TestConnection" }, "ds": { + "AcceptSharedDirectory": "ds:AcceptSharedDirectory", "AddIpRoutes": "ds:AddIpRoutes", "AddTagsToResource": "ds:AddTagsToResource", "CancelSchemaExtension": "ds:CancelSchemaExtension", @@ -927,17 +1348,21 @@ "CreateComputer": "ds:CreateComputer", "CreateConditionalForwarder": "ds:CreateConditionalForwarder", "CreateDirectory": "ds:CreateDirectory", + "CreateLogSubscription": "ds:CreateLogSubscription", "CreateMicrosoftAD": "ds:CreateMicrosoftAD", "CreateSnapshot": "ds:CreateSnapshot", "CreateTrust": "ds:CreateTrust", "DeleteConditionalForwarder": "ds:DeleteConditionalForwarder", "DeleteDirectory": "ds:DeleteDirectory", + "DeleteLogSubscription": "ds:DeleteLogSubscription", "DeleteSnapshot": "ds:DeleteSnapshot", "DeleteTrust": "ds:DeleteTrust", "DeregisterEventTopic": "ds:DeregisterEventTopic", "DescribeConditionalForwarders": "ds:DescribeConditionalForwarders", "DescribeDirectories": "ds:DescribeDirectories", + "DescribeDomainControllers": "ds:DescribeDomainControllers", "DescribeEventTopics": "ds:DescribeEventTopics", + "DescribeSharedDirectories": "ds:DescribeSharedDirectories", "DescribeSnapshots": "ds:DescribeSnapshots", "DescribeTrusts": "ds:DescribeTrusts", "DisableRadius": "ds:DisableRadius", @@ -947,14 +1372,20 @@ "GetDirectoryLimits": "ds:GetDirectoryLimits", "GetSnapshotLimits": "ds:GetSnapshotLimits", "ListIpRoutes": "ds:ListIpRoutes", + "ListLogSubscriptions": "ds:ListLogSubscriptions", "ListSchemaExtensions": "ds:ListSchemaExtensions", "ListTagsForResource": "ds:ListTagsForResource", "RegisterEventTopic": "ds:RegisterEventTopic", + "RejectSharedDirectory": "ds:RejectSharedDirectory", "RemoveIpRoutes": "ds:RemoveIpRoutes", "RemoveTagsFromResource": "ds:RemoveTagsFromResource", + "ResetUserPassword": "ds:ResetUserPassword", "RestoreFromSnapshot": "ds:RestoreFromSnapshot", + "ShareDirectory": "ds:ShareDirectory", "StartSchemaExtension": "ds:StartSchemaExtension", + "UnshareDirectory": "ds:UnshareDirectory", "UpdateConditionalForwarder": "ds:UpdateConditionalForwarder", + "UpdateNumberOfDomainControllers": "ds:UpdateNumberOfDomainControllers", "UpdateRadius": "ds:UpdateRadius", "VerifyTrust": "ds:VerifyTrust" }, @@ -1001,27 +1432,34 @@ }, "ec2": { "AcceptReservedInstancesExchangeQuote": "ec2:AcceptReservedInstancesExchangeQuote", + "AcceptTransitGatewayVpcAttachment": "ec2:AcceptTransitGatewayVpcAttachment", "AcceptVpcEndpointConnections": "ec2:AcceptVpcEndpointConnections", "AcceptVpcPeeringConnection": "ec2:AcceptVpcPeeringConnection", + "AdvertiseByoipCidr": "ec2:AdvertiseByoipCidr", "AllocateAddress": "ec2:AllocateAddress", "AllocateHosts": "ec2:AllocateHosts", + "ApplySecurityGroupsToClientVpnTargetNetwork": "ec2:ApplySecurityGroupsToClientVpnTargetNetwork", "AssignIpv6Addresses": "ec2:AssignIpv6Addresses", "AssignPrivateIpAddresses": "ec2:AssignPrivateIpAddresses", "AssociateAddress": "ec2:AssociateAddress", + "AssociateClientVpnTargetNetwork": "ec2:AssociateClientVpnTargetNetwork", "AssociateDhcpOptions": "ec2:AssociateDhcpOptions", "AssociateIamInstanceProfile": "ec2:AssociateIamInstanceProfile", "AssociateRouteTable": "ec2:AssociateRouteTable", "AssociateSubnetCidrBlock": "ec2:AssociateSubnetCidrBlock", + "AssociateTransitGatewayRouteTable": "ec2:AssociateTransitGatewayRouteTable", "AssociateVpcCidrBlock": "ec2:AssociateVpcCidrBlock", "AttachClassicLinkVpc": "ec2:AttachClassicLinkVpc", "AttachInternetGateway": "ec2:AttachInternetGateway", "AttachNetworkInterface": "ec2:AttachNetworkInterface", "AttachVolume": "ec2:AttachVolume", "AttachVpnGateway": "ec2:AttachVpnGateway", + "AuthorizeClientVpnIngress": "ec2:AuthorizeClientVpnIngress", "AuthorizeSecurityGroupEgress": "ec2:AuthorizeSecurityGroupEgress", "AuthorizeSecurityGroupIngress": "ec2:AuthorizeSecurityGroupIngress", "BundleInstance": "ec2:BundleInstance", "CancelBundleTask": "ec2:CancelBundleTask", + "CancelCapacityReservation": "ec2:CancelCapacityReservation", "CancelConversionTask": "ec2:CancelConversionTask", "CancelExportTask": "ec2:CancelExportTask", "CancelImportTask": "ec2:CancelImportTask", @@ -1032,11 +1470,15 @@ "CopyFpgaImage": "ec2:CopyFpgaImage", "CopyImage": "ec2:CopyImage", "CopySnapshot": "ec2:CopySnapshot", + "CreateCapacityReservation": "ec2:CreateCapacityReservation", + "CreateClientVpnEndpoint": "ec2:CreateClientVpnEndpoint", + "CreateClientVpnRoute": "ec2:CreateClientVpnRoute", "CreateCustomerGateway": "ec2:CreateCustomerGateway", "CreateDefaultSubnet": "ec2:CreateDefaultSubnet", "CreateDefaultVpc": "ec2:CreateDefaultVpc", "CreateDhcpOptions": "ec2:CreateDhcpOptions", "CreateEgressOnlyInternetGateway": "ec2:CreateEgressOnlyInternetGateway", + "CreateFleet": "ec2:CreateFleet", "CreateFlowLogs": "ec2:CreateFlowLogs", "CreateFpgaImage": "ec2:CreateFpgaImage", "CreateImage": "ec2:CreateImage", @@ -1056,9 +1498,14 @@ "CreateRouteTable": "ec2:CreateRouteTable", "CreateSecurityGroup": "ec2:CreateSecurityGroup", "CreateSnapshot": "ec2:CreateSnapshot", + "CreateSnapshots": "ec2:CreateSnapshots", "CreateSpotDatafeedSubscription": "ec2:CreateSpotDatafeedSubscription", "CreateSubnet": "ec2:CreateSubnet", "CreateTags": "ec2:CreateTags", + "CreateTransitGateway": "ec2:CreateTransitGateway", + "CreateTransitGatewayRoute": "ec2:CreateTransitGatewayRoute", + "CreateTransitGatewayRouteTable": "ec2:CreateTransitGatewayRouteTable", + "CreateTransitGatewayVpcAttachment": "ec2:CreateTransitGatewayVpcAttachment", "CreateVolume": "ec2:CreateVolume", "CreateVpc": "ec2:CreateVpc", "CreateVpcEndpoint": "ec2:CreateVpcEndpoint", @@ -1068,9 +1515,12 @@ "CreateVpnConnection": "ec2:CreateVpnConnection", "CreateVpnConnectionRoute": "ec2:CreateVpnConnectionRoute", "CreateVpnGateway": "ec2:CreateVpnGateway", + "DeleteClientVpnEndpoint": "ec2:DeleteClientVpnEndpoint", + "DeleteClientVpnRoute": "ec2:DeleteClientVpnRoute", "DeleteCustomerGateway": "ec2:DeleteCustomerGateway", "DeleteDhcpOptions": "ec2:DeleteDhcpOptions", "DeleteEgressOnlyInternetGateway": "ec2:DeleteEgressOnlyInternetGateway", + "DeleteFleets": "ec2:DeleteFleets", "DeleteFlowLogs": "ec2:DeleteFlowLogs", "DeleteFpgaImage": "ec2:DeleteFpgaImage", "DeleteInternetGateway": "ec2:DeleteInternetGateway", @@ -1090,6 +1540,10 @@ "DeleteSpotDatafeedSubscription": "ec2:DeleteSpotDatafeedSubscription", "DeleteSubnet": "ec2:DeleteSubnet", "DeleteTags": "ec2:DeleteTags", + "DeleteTransitGateway": "ec2:DeleteTransitGateway", + "DeleteTransitGatewayRoute": "ec2:DeleteTransitGatewayRoute", + "DeleteTransitGatewayRouteTable": "ec2:DeleteTransitGatewayRouteTable", + "DeleteTransitGatewayVpcAttachment": "ec2:DeleteTransitGatewayVpcAttachment", "DeleteVolume": "ec2:DeleteVolume", "DeleteVpc": "ec2:DeleteVpc", "DeleteVpcEndpointConnectionNotifications": "ec2:DeleteVpcEndpointConnectionNotifications", @@ -1099,18 +1553,30 @@ "DeleteVpnConnection": "ec2:DeleteVpnConnection", "DeleteVpnConnectionRoute": "ec2:DeleteVpnConnectionRoute", "DeleteVpnGateway": "ec2:DeleteVpnGateway", + "DeprovisionByoipCidr": "ec2:DeprovisionByoipCidr", "DeregisterImage": "ec2:DeregisterImage", "DescribeAccountAttributes": "ec2:DescribeAccountAttributes", "DescribeAddresses": "ec2:DescribeAddresses", + "DescribeAggregateIdFormat": "ec2:DescribeAggregateIdFormat", "DescribeAvailabilityZones": "ec2:DescribeAvailabilityZones", "DescribeBundleTasks": "ec2:DescribeBundleTasks", + "DescribeByoipCidrs": "ec2:DescribeByoipCidrs", + "DescribeCapacityReservations": "ec2:DescribeCapacityReservations", "DescribeClassicLinkInstances": "ec2:DescribeClassicLinkInstances", + "DescribeClientVpnAuthorizationRules": "ec2:DescribeClientVpnAuthorizationRules", + "DescribeClientVpnConnections": "ec2:DescribeClientVpnConnections", + "DescribeClientVpnEndpoints": "ec2:DescribeClientVpnEndpoints", + "DescribeClientVpnRoutes": "ec2:DescribeClientVpnRoutes", + "DescribeClientVpnTargetNetworks": "ec2:DescribeClientVpnTargetNetworks", "DescribeConversionTasks": "ec2:DescribeConversionTasks", "DescribeCustomerGateways": "ec2:DescribeCustomerGateways", "DescribeDhcpOptions": "ec2:DescribeDhcpOptions", "DescribeEgressOnlyInternetGateways": "ec2:DescribeEgressOnlyInternetGateways", "DescribeElasticGpus": "ec2:DescribeElasticGpus", "DescribeExportTasks": "ec2:DescribeExportTasks", + "DescribeFleetHistory": "ec2:DescribeFleetHistory", + "DescribeFleetInstances": "ec2:DescribeFleetInstances", + "DescribeFleets": "ec2:DescribeFleets", "DescribeFlowLogs": "ec2:DescribeFlowLogs", "DescribeFpgaImageAttribute": "ec2:DescribeFpgaImageAttribute", "DescribeFpgaImages": "ec2:DescribeFpgaImages", @@ -1140,6 +1606,8 @@ "DescribeNetworkInterfaces": "ec2:DescribeNetworkInterfaces", "DescribePlacementGroups": "ec2:DescribePlacementGroups", "DescribePrefixLists": "ec2:DescribePrefixLists", + "DescribePrincipalIdFormat": "ec2:DescribePrincipalIdFormat", + "DescribePublicIpv4Pools": "ec2:DescribePublicIpv4Pools", "DescribeRegions": "ec2:DescribeRegions", "DescribeReservedInstances": "ec2:DescribeReservedInstances", "DescribeReservedInstancesListings": "ec2:DescribeReservedInstancesListings", @@ -1161,6 +1629,10 @@ "DescribeStaleSecurityGroups": "ec2:DescribeStaleSecurityGroups", "DescribeSubnets": "ec2:DescribeSubnets", "DescribeTags": "ec2:DescribeTags", + "DescribeTransitGatewayAttachments": "ec2:DescribeTransitGatewayAttachments", + "DescribeTransitGatewayRouteTables": "ec2:DescribeTransitGatewayRouteTables", + "DescribeTransitGatewayVpcAttachments": "ec2:DescribeTransitGatewayVpcAttachments", + "DescribeTransitGateways": "ec2:DescribeTransitGateways", "DescribeVolumeAttribute": "ec2:DescribeVolumeAttribute", "DescribeVolumeStatus": "ec2:DescribeVolumeStatus", "DescribeVolumes": "ec2:DescribeVolumes", @@ -1183,36 +1655,52 @@ "DetachNetworkInterface": "ec2:DetachNetworkInterface", "DetachVolume": "ec2:DetachVolume", "DetachVpnGateway": "ec2:DetachVpnGateway", + "DisableTransitGatewayRouteTablePropagation": "ec2:DisableTransitGatewayRouteTablePropagation", "DisableVgwRoutePropagation": "ec2:DisableVgwRoutePropagation", "DisableVpcClassicLink": "ec2:DisableVpcClassicLink", "DisableVpcClassicLinkDnsSupport": "ec2:DisableVpcClassicLinkDnsSupport", "DisassociateAddress": "ec2:DisassociateAddress", + "DisassociateClientVpnTargetNetwork": "ec2:DisassociateClientVpnTargetNetwork", "DisassociateIamInstanceProfile": "ec2:DisassociateIamInstanceProfile", "DisassociateRouteTable": "ec2:DisassociateRouteTable", "DisassociateSubnetCidrBlock": "ec2:DisassociateSubnetCidrBlock", + "DisassociateTransitGatewayRouteTable": "ec2:DisassociateTransitGatewayRouteTable", "DisassociateVpcCidrBlock": "ec2:DisassociateVpcCidrBlock", + "EnableTransitGatewayRouteTablePropagation": "ec2:EnableTransitGatewayRouteTablePropagation", "EnableVgwRoutePropagation": "ec2:EnableVgwRoutePropagation", "EnableVolumeIO": "ec2:EnableVolumeIO", "EnableVpcClassicLink": "ec2:EnableVpcClassicLink", "EnableVpcClassicLinkDnsSupport": "ec2:EnableVpcClassicLinkDnsSupport", + "ExportClientVpnClientCertificateRevocationList": "ec2:ExportClientVpnClientCertificateRevocationList", + "ExportClientVpnClientConfiguration": "ec2:ExportClientVpnClientConfiguration", + "ExportTransitGatewayRoutes": "ec2:ExportTransitGatewayRoutes", "GetConsoleOutput": "ec2:GetConsoleOutput", "GetConsoleScreenshot": "ec2:GetConsoleScreenshot", "GetHostReservationPurchasePreview": "ec2:GetHostReservationPurchasePreview", "GetLaunchTemplateData": "ec2:GetLaunchTemplateData", "GetPasswordData": "ec2:GetPasswordData", "GetReservedInstancesExchangeQuote": "ec2:GetReservedInstancesExchangeQuote", + "GetTransitGatewayAttachmentPropagations": "ec2:GetTransitGatewayAttachmentPropagations", + "GetTransitGatewayRouteTableAssociations": "ec2:GetTransitGatewayRouteTableAssociations", + "GetTransitGatewayRouteTablePropagations": "ec2:GetTransitGatewayRouteTablePropagations", + "ImportClientVpnClientCertificateRevocationList": "ec2:ImportClientVpnClientCertificateRevocationList", "ImportImage": "ec2:ImportImage", "ImportInstance": "ec2:ImportInstance", "ImportKeyPair": "ec2:ImportKeyPair", "ImportSnapshot": "ec2:ImportSnapshot", "ImportVolume": "ec2:ImportVolume", + "ModifyCapacityReservation": "ec2:ModifyCapacityReservation", + "ModifyClientVpnEndpoint": "ec2:ModifyClientVpnEndpoint", + "ModifyFleet": "ec2:ModifyFleet", "ModifyFpgaImageAttribute": "ec2:ModifyFpgaImageAttribute", "ModifyHosts": "ec2:ModifyHosts", "ModifyIdFormat": "ec2:ModifyIdFormat", "ModifyIdentityIdFormat": "ec2:ModifyIdentityIdFormat", "ModifyImageAttribute": "ec2:ModifyImageAttribute", "ModifyInstanceAttribute": "ec2:ModifyInstanceAttribute", + "ModifyInstanceCapacityReservationAttributes": "ec2:ModifyInstanceCapacityReservationAttributes", "ModifyInstanceCreditSpecification": "ec2:ModifyInstanceCreditSpecification", + "ModifyInstanceEventStartTime": "ec2:ModifyInstanceEventStartTime", "ModifyInstancePlacement": "ec2:ModifyInstancePlacement", "ModifyLaunchTemplate": "ec2:ModifyLaunchTemplate", "ModifyNetworkInterfaceAttribute": "ec2:ModifyNetworkInterfaceAttribute", @@ -1220,6 +1708,7 @@ "ModifySnapshotAttribute": "ec2:ModifySnapshotAttribute", "ModifySpotFleetRequest": "ec2:ModifySpotFleetRequest", "ModifySubnetAttribute": "ec2:ModifySubnetAttribute", + "ModifyTransitGatewayVpcAttachment": "ec2:ModifyTransitGatewayVpcAttachment", "ModifyVolume": "ec2:ModifyVolume", "ModifyVolumeAttribute": "ec2:ModifyVolumeAttribute", "ModifyVpcAttribute": "ec2:ModifyVpcAttribute", @@ -1231,11 +1720,13 @@ "ModifyVpcTenancy": "ec2:ModifyVpcTenancy", "MonitorInstances": "ec2:MonitorInstances", "MoveAddressToVpc": "ec2:MoveAddressToVpc", + "ProvisionByoipCidr": "ec2:ProvisionByoipCidr", "PurchaseHostReservation": "ec2:PurchaseHostReservation", "PurchaseReservedInstancesOffering": "ec2:PurchaseReservedInstancesOffering", "PurchaseScheduledInstances": "ec2:PurchaseScheduledInstances", "RebootInstances": "ec2:RebootInstances", "RegisterImage": "ec2:RegisterImage", + "RejectTransitGatewayVpcAttachment": "ec2:RejectTransitGatewayVpcAttachment", "RejectVpcEndpointConnections": "ec2:RejectVpcEndpointConnections", "RejectVpcPeeringConnection": "ec2:RejectVpcPeeringConnection", "ReleaseAddress": "ec2:ReleaseAddress", @@ -1245,6 +1736,7 @@ "ReplaceNetworkAclEntry": "ec2:ReplaceNetworkAclEntry", "ReplaceRoute": "ec2:ReplaceRoute", "ReplaceRouteTableAssociation": "ec2:ReplaceRouteTableAssociation", + "ReplaceTransitGatewayRoute": "ec2:ReplaceTransitGatewayRoute", "ReportInstanceStatus": "ec2:ReportInstanceStatus", "RequestSpotFleet": "ec2:RequestSpotFleet", "RequestSpotInstances": "ec2:RequestSpotInstances", @@ -1254,18 +1746,22 @@ "ResetNetworkInterfaceAttribute": "ec2:ResetNetworkInterfaceAttribute", "ResetSnapshotAttribute": "ec2:ResetSnapshotAttribute", "RestoreAddressToClassic": "ec2:RestoreAddressToClassic", + "RevokeClientVpnIngress": "ec2:RevokeClientVpnIngress", "RevokeSecurityGroupEgress": "ec2:RevokeSecurityGroupEgress", "RevokeSecurityGroupIngress": "ec2:RevokeSecurityGroupIngress", "RunInstances": "ec2:RunInstances", "RunScheduledInstances": "ec2:RunScheduledInstances", + "SearchTransitGatewayRoutes": "ec2:SearchTransitGatewayRoutes", "StartInstances": "ec2:StartInstances", "StopInstances": "ec2:StopInstances", + "TerminateClientVpnConnections": "ec2:TerminateClientVpnConnections", "TerminateInstances": "ec2:TerminateInstances", "UnassignIpv6Addresses": "ec2:UnassignIpv6Addresses", "UnassignPrivateIpAddresses": "ec2:UnassignPrivateIpAddresses", "UnmonitorInstances": "ec2:UnmonitorInstances", "UpdateSecurityGroupRuleDescriptionsEgress": "ec2:UpdateSecurityGroupRuleDescriptionsEgress", - "UpdateSecurityGroupRuleDescriptionsIngress": "ec2:UpdateSecurityGroupRuleDescriptionsIngress" + "UpdateSecurityGroupRuleDescriptionsIngress": "ec2:UpdateSecurityGroupRuleDescriptionsIngress", + "WithdrawByoipCidr": "ec2:WithdrawByoipCidr" }, "ecr": { "BatchCheckLayerAvailability": "ecr:BatchCheckLayerAvailability", @@ -1273,38 +1769,57 @@ "BatchGetImage": "ecr:BatchGetImage", "CompleteLayerUpload": "ecr:CompleteLayerUpload", "CreateRepository": "ecr:CreateRepository", + "DeleteLifecyclePolicy": "ecr:DeleteLifecyclePolicy", "DeleteRepository": "ecr:DeleteRepository", "DeleteRepositoryPolicy": "ecr:DeleteRepositoryPolicy", "DescribeImages": "ecr:DescribeImages", "DescribeRepositories": "ecr:DescribeRepositories", "GetAuthorizationToken": "ecr:GetAuthorizationToken", "GetDownloadUrlForLayer": "ecr:GetDownloadUrlForLayer", + "GetLifecyclePolicy": "ecr:GetLifecyclePolicy", + "GetLifecyclePolicyPreview": "ecr:GetLifecyclePolicyPreview", "GetRepositoryPolicy": "ecr:GetRepositoryPolicy", "InitiateLayerUpload": "ecr:InitiateLayerUpload", "ListImages": "ecr:ListImages", + "ListTagsForResource": "ecr:ListTagsForResource", "PutImage": "ecr:PutImage", + "PutLifecyclePolicy": "ecr:PutLifecyclePolicy", "SetRepositoryPolicy": "ecr:SetRepositoryPolicy", + "StartLifecyclePolicyPreview": "ecr:StartLifecyclePolicyPreview", + "TagResource": "ecr:TagResource", + "UntagResource": "ecr:UntagResource", "UploadLayerPart": "ecr:UploadLayerPart" }, "ecs": { "CreateCluster": "ecs:CreateCluster", "CreateService": "ecs:CreateService", + "CreateTaskSet": "ecs:CreateTaskSet", + "DeleteAccountSetting": "ecs:DeleteAccountSetting", + "DeleteAttributes": "ecs:DeleteAttributes", "DeleteCluster": "ecs:DeleteCluster", "DeleteService": "ecs:DeleteService", + "DeleteTaskSet": "ecs:DeleteTaskSet", "DeregisterContainerInstance": "ecs:DeregisterContainerInstance", "DeregisterTaskDefinition": "ecs:DeregisterTaskDefinition", "DescribeClusters": "ecs:DescribeClusters", "DescribeContainerInstances": "ecs:DescribeContainerInstances", "DescribeServices": "ecs:DescribeServices", "DescribeTaskDefinition": "ecs:DescribeTaskDefinition", + "DescribeTaskSets": "ecs:DescribeTaskSets", "DescribeTasks": "ecs:DescribeTasks", "DiscoverPollEndpoint": "ecs:DiscoverPollEndpoint", + "ListAccountSettings": "ecs:ListAccountSettings", + "ListAttributes": "ecs:ListAttributes", "ListClusters": "ecs:ListClusters", "ListContainerInstances": "ecs:ListContainerInstances", "ListServices": "ecs:ListServices", + "ListTagsForResource": "ecs:ListTagsForResource", "ListTaskDefinitionFamilies": "ecs:ListTaskDefinitionFamilies", "ListTaskDefinitions": "ecs:ListTaskDefinitions", "ListTasks": "ecs:ListTasks", + "PutAccountSetting": "ecs:PutAccountSetting", + "PutAccountSettingDefault": "ecs:PutAccountSettingDefault", + "PutAttributes": "ecs:PutAttributes", "RegisterContainerInstance": "ecs:RegisterContainerInstance", "RegisterTaskDefinition": "ecs:RegisterTaskDefinition", "RunTask": "ecs:RunTask", @@ -1312,9 +1827,13 @@ "StopTask": "ecs:StopTask", "SubmitContainerStateChange": "ecs:SubmitContainerStateChange", "SubmitTaskStateChange": "ecs:SubmitTaskStateChange", + "TagResource": "ecs:TagResource", + "UntagResource": "ecs:UntagResource", "UpdateContainerAgent": "ecs:UpdateContainerAgent", "UpdateContainerInstancesState": "ecs:UpdateContainerInstancesState", - "UpdateService": "ecs:UpdateService" + "UpdateService": "ecs:UpdateService", + "UpdateServicePrimaryTaskSet": "ecs:UpdateServicePrimaryTaskSet", + "UpdateTaskSet": "ecs:UpdateTaskSet" }, "efs": { "CreateFileSystem": "elasticfilesystem:CreateFileSystem", @@ -1324,16 +1843,22 @@ "DeleteMountTarget": "elasticfilesystem:DeleteMountTarget", "DeleteTags": "elasticfilesystem:DeleteTags", "DescribeFileSystems": "elasticfilesystem:DescribeFileSystems", + "DescribeLifecycleConfiguration": "elasticfilesystem:DescribeLifecycleConfiguration", "DescribeMountTargetSecurityGroups": "elasticfilesystem:DescribeMountTargetSecurityGroups", "DescribeMountTargets": "elasticfilesystem:DescribeMountTargets", "DescribeTags": "elasticfilesystem:DescribeTags", - "ModifyMountTargetSecurityGroups": "elasticfilesystem:ModifyMountTargetSecurityGroups" + "ModifyMountTargetSecurityGroups": "elasticfilesystem:ModifyMountTargetSecurityGroups", + "PutLifecycleConfiguration": "elasticfilesystem:PutLifecycleConfiguration", + "UpdateFileSystem": "elasticfilesystem:UpdateFileSystem" }, "eks": { "CreateCluster": "eks:CreateCluster", "DeleteCluster": "eks:DeleteCluster", "DescribeCluster": "eks:DescribeCluster", - "ListClusters": "eks:ListClusters" + "DescribeUpdate": "eks:DescribeUpdate", + "ListClusters": "eks:ListClusters", + "ListUpdates": "eks:ListUpdates", + "UpdateClusterVersion": "eks:UpdateClusterVersion" }, "elasticache": { "AddTagsToResource": "elasticache:AddTagsToResource", @@ -1345,6 +1870,7 @@ "CreateCacheSubnetGroup": "elasticache:CreateCacheSubnetGroup", "CreateReplicationGroup": "elasticache:CreateReplicationGroup", "CreateSnapshot": "elasticache:CreateSnapshot", + "DecreaseReplicaCount": "elasticache:DecreaseReplicaCount", "DeleteCacheCluster": "elasticache:DeleteCacheCluster", "DeleteCacheParameterGroup": "elasticache:DeleteCacheParameterGroup", "DeleteCacheSecurityGroup": "elasticache:DeleteCacheSecurityGroup", @@ -1363,17 +1889,20 @@ "DescribeReservedCacheNodes": "elasticache:DescribeReservedCacheNodes", "DescribeReservedCacheNodesOfferings": "elasticache:DescribeReservedCacheNodesOfferings", "DescribeSnapshots": "elasticache:DescribeSnapshots", + "IncreaseReplicaCount": "elasticache:IncreaseReplicaCount", "ListAllowedNodeTypeModifications": "elasticache:ListAllowedNodeTypeModifications", "ListTagsForResource": "elasticache:ListTagsForResource", "ModifyCacheCluster": "elasticache:ModifyCacheCluster", "ModifyCacheParameterGroup": "elasticache:ModifyCacheParameterGroup", "ModifyCacheSubnetGroup": "elasticache:ModifyCacheSubnetGroup", "ModifyReplicationGroup": "elasticache:ModifyReplicationGroup", + "ModifyReplicationGroupShardConfiguration": "elasticache:ModifyReplicationGroupShardConfiguration", "PurchaseReservedCacheNodesOffering": "elasticache:PurchaseReservedCacheNodesOffering", "RebootCacheCluster": "elasticache:RebootCacheCluster", "RemoveTagsFromResource": "elasticache:RemoveTagsFromResource", "ResetCacheParameterGroup": "elasticache:ResetCacheParameterGroup", - "RevokeCacheSecurityGroupIngress": "elasticache:RevokeCacheSecurityGroupIngress" + "RevokeCacheSecurityGroupIngress": "elasticache:RevokeCacheSecurityGroupIngress", + "TestFailover": "elasticache:TestFailover" }, "elasticbeanstalk": { "AbortEnvironmentUpdate": "elasticbeanstalk:AbortEnvironmentUpdate", @@ -1391,6 +1920,7 @@ "DeleteConfigurationTemplate": "elasticbeanstalk:DeleteConfigurationTemplate", "DeleteEnvironmentConfiguration": "elasticbeanstalk:DeleteEnvironmentConfiguration", "DeletePlatformVersion": "elasticbeanstalk:DeletePlatformVersion", + "DescribeAccountAttributes": "elasticbeanstalk:DescribeAccountAttributes", "DescribeApplicationVersions": "elasticbeanstalk:DescribeApplicationVersions", "DescribeApplications": "elasticbeanstalk:DescribeApplications", "DescribeConfigurationOptions": "elasticbeanstalk:DescribeConfigurationOptions", @@ -1405,6 +1935,7 @@ "DescribePlatformVersion": "elasticbeanstalk:DescribePlatformVersion", "ListAvailableSolutionStacks": "elasticbeanstalk:ListAvailableSolutionStacks", "ListPlatformVersions": "elasticbeanstalk:ListPlatformVersions", + "ListTagsForResource": "elasticbeanstalk:ListTagsForResource", "RebuildEnvironment": "elasticbeanstalk:RebuildEnvironment", "RequestEnvironmentInfo": "elasticbeanstalk:RequestEnvironmentInfo", "RestartAppServer": "elasticbeanstalk:RestartAppServer", @@ -1505,6 +2036,7 @@ "SetSubnets": "elasticloadbalancing:SetSubnets" }, "emr": { + "AddInstanceFleet": "elasticmapreduce:AddInstanceFleet", "AddInstanceGroups": "elasticmapreduce:AddInstanceGroups", "AddJobFlowSteps": "elasticmapreduce:AddJobFlowSteps", "AddTags": "elasticmapreduce:AddTags", @@ -1512,22 +2044,22 @@ "CreateSecurityConfiguration": "elasticmapreduce:CreateSecurityConfiguration", "DeleteSecurityConfiguration": "elasticmapreduce:DeleteSecurityConfiguration", "DescribeCluster": "elasticmapreduce:DescribeCluster", - "DescribeJobFlows": "elasticmapreduce:DescribeJobFlows", "DescribeSecurityConfiguration": "elasticmapreduce:DescribeSecurityConfiguration", "DescribeStep": "elasticmapreduce:DescribeStep", "ListBootstrapActions": "elasticmapreduce:ListBootstrapActions", "ListClusters": "elasticmapreduce:ListClusters", + "ListInstanceFleets": "elasticmapreduce:ListInstanceFleets", "ListInstanceGroups": "elasticmapreduce:ListInstanceGroups", "ListInstances": "elasticmapreduce:ListInstances", "ListSecurityConfigurations": "elasticmapreduce:ListSecurityConfigurations", "ListSteps": "elasticmapreduce:ListSteps", + "ModifyInstanceFleet": "elasticmapreduce:ModifyInstanceFleet", "ModifyInstanceGroups": "elasticmapreduce:ModifyInstanceGroups", "PutAutoScalingPolicy": "elasticmapreduce:PutAutoScalingPolicy", "RemoveAutoScalingPolicy": "elasticmapreduce:RemoveAutoScalingPolicy", "RemoveTags": "elasticmapreduce:RemoveTags", "RunJobFlow": "elasticmapreduce:RunJobFlow", "SetTerminationProtection": "elasticmapreduce:SetTerminationProtection", - "SetVisibleToAllUsers": "elasticmapreduce:SetVisibleToAllUsers", "TerminateJobFlows": "elasticmapreduce:TerminateJobFlows" }, "es": { @@ -1539,12 +2071,18 @@ "DescribeElasticsearchDomainConfig": "es:DescribeElasticsearchDomainConfig", "DescribeElasticsearchDomains": "es:DescribeElasticsearchDomains", "DescribeElasticsearchInstanceTypeLimits": "es:DescribeElasticsearchInstanceTypeLimits", + "DescribeReservedElasticsearchInstanceOfferings": "es:DescribeReservedElasticsearchInstanceOfferings", + "DescribeReservedElasticsearchInstances": "es:DescribeReservedElasticsearchInstances", + "GetCompatibleElasticsearchVersions": "es:GetCompatibleElasticsearchVersions", + "GetUpgradeHistory": "es:GetUpgradeHistory", + "GetUpgradeStatus": "es:GetUpgradeStatus", "ListDomainNames": "es:ListDomainNames", "ListElasticsearchInstanceTypes": "es:ListElasticsearchInstanceTypes", "ListElasticsearchVersions": "es:ListElasticsearchVersions", "ListTags": "es:ListTags", "RemoveTags": "es:RemoveTags", - "UpdateElasticsearchDomainConfig": "es:UpdateElasticsearchDomainConfig" + "UpdateElasticsearchDomainConfig": "es:UpdateElasticsearchDomainConfig", + "UpgradeElasticsearchDomain": "es:UpgradeElasticsearchDomain" }, "events": { "DeleteRule": "events:DeleteRule", @@ -1554,6 +2092,7 @@ "EnableRule": "events:EnableRule", "ListRuleNamesByTarget": "events:ListRuleNamesByTarget", "ListRules": "events:ListRules", + "ListTagsForResource": "events:ListTagsForResource", "ListTargetsByRule": "events:ListTargetsByRule", "PutEvents": "events:PutEvents", "PutPermission": "events:PutPermission", @@ -1561,15 +2100,22 @@ "PutTargets": "events:PutTargets", "RemovePermission": "events:RemovePermission", "RemoveTargets": "events:RemoveTargets", - "TestEventPattern": "events:TestEventPattern" + "TagResource": "events:TagResource", + "TestEventPattern": "events:TestEventPattern", + "UntagResource": "events:UntagResource" }, "firehose": { "CreateDeliveryStream": "firehose:CreateDeliveryStream", "DeleteDeliveryStream": "firehose:DeleteDeliveryStream", "DescribeDeliveryStream": "firehose:DescribeDeliveryStream", "ListDeliveryStreams": "firehose:ListDeliveryStreams", + "ListTagsForDeliveryStream": "firehose:ListTagsForDeliveryStream", "PutRecord": "firehose:PutRecord", "PutRecordBatch": "firehose:PutRecordBatch", + "StartDeliveryStreamEncryption": "firehose:StartDeliveryStreamEncryption", + "StopDeliveryStreamEncryption": "firehose:StopDeliveryStreamEncryption", + "TagDeliveryStream": "firehose:TagDeliveryStream", + "UntagDeliveryStream": "firehose:UntagDeliveryStream", "UpdateDestination": "firehose:UpdateDestination" }, "fms": { @@ -1581,11 +2127,26 @@ "GetComplianceDetail": "fms:GetComplianceDetail", "GetNotificationChannel": "fms:GetNotificationChannel", "GetPolicy": "fms:GetPolicy", + "GetProtectionStatus": "fms:GetProtectionStatus", "ListComplianceStatus": "fms:ListComplianceStatus", + "ListMemberAccounts": "fms:ListMemberAccounts", "ListPolicies": "fms:ListPolicies", "PutNotificationChannel": "fms:PutNotificationChannel", "PutPolicy": "fms:PutPolicy" }, + "fsx": { + "CreateBackup": "fsx:CreateBackup", + "CreateFileSystem": "fsx:CreateFileSystem", + "CreateFileSystemFromBackup": "fsx:CreateFileSystemFromBackup", + "DeleteBackup": "fsx:DeleteBackup", + "DeleteFileSystem": "fsx:DeleteFileSystem", + "DescribeBackups": "fsx:DescribeBackups", + "DescribeFileSystems": "fsx:DescribeFileSystems", + "ListTagsForResource": "fsx:ListTagsForResource", + "TagResource": "fsx:TagResource", + "UntagResource": "fsx:UntagResource", + "UpdateFileSystem": "fsx:UpdateFileSystem" + }, "gamelift": { "CreateAlias": "gamelift:CreateAlias", "CreateBuild": "gamelift:CreateBuild", @@ -1663,6 +2224,52 @@ "UploadArchive": "glacier:UploadArchive", "UploadMultipartPart": "glacier:UploadMultipartPart" }, + "globalaccelerator": { + "CreateAccelerator": "globalaccelerator:CreateAccelerator", + "CreateEndpointGroup": "globalaccelerator:CreateEndpointGroup", + "CreateListener": "globalaccelerator:CreateListener", + "DeleteAccelerator": "globalaccelerator:DeleteAccelerator", + "DeleteEndpointGroup": "globalaccelerator:DeleteEndpointGroup", + "DeleteListener": "globalaccelerator:DeleteListener", + "DescribeAccelerator": "globalaccelerator:DescribeAccelerator", + "DescribeAcceleratorAttributes": "globalaccelerator:DescribeAcceleratorAttributes", + "DescribeEndpointGroup": "globalaccelerator:DescribeEndpointGroup", + "DescribeListener": "globalaccelerator:DescribeListener", + "ListAccelerators": "globalaccelerator:ListAccelerators", + "ListEndpointGroups": "globalaccelerator:ListEndpointGroups", + "ListListeners": "globalaccelerator:ListListeners", + "UpdateAccelerator": "globalaccelerator:UpdateAccelerator", + "UpdateAcceleratorAttributes": "globalaccelerator:UpdateAcceleratorAttributes", + "UpdateEndpointGroup": "globalaccelerator:UpdateEndpointGroup", + "UpdateListener": "globalaccelerator:UpdateListener" + }, + "groundstation": { + "CancelContact": "groundstation:CancelContact", + "CreateConfig": "groundstation:CreateConfig", + "CreateDataflowEndpointGroup": "groundstation:CreateDataflowEndpointGroup", + "CreateMissionProfile": "groundstation:CreateMissionProfile", + "DeleteConfig": "groundstation:DeleteConfig", + "DeleteDataflowEndpointGroup": "groundstation:DeleteDataflowEndpointGroup", + "DeleteMissionProfile": "groundstation:DeleteMissionProfile", + "DescribeContact": "groundstation:DescribeContact", + "GetConfig": "groundstation:GetConfig", + "GetDataflowEndpointGroup": "groundstation:GetDataflowEndpointGroup", + "GetMinuteUsage": "groundstation:GetMinuteUsage", + "GetMissionProfile": "groundstation:GetMissionProfile", + "GetSatellite": "groundstation:GetSatellite", + "ListConfigs": "groundstation:ListConfigs", + "ListContacts": "groundstation:ListContacts", + "ListDataflowEndpointGroups": "groundstation:ListDataflowEndpointGroups", + "ListGroundStations": "groundstation:ListGroundStations", + "ListMissionProfiles": "groundstation:ListMissionProfiles", + "ListSatellites": "groundstation:ListSatellites", + "ListTagsForResource": "groundstation:ListTagsForResource", + "ReserveContact": "groundstation:ReserveContact", + "TagResource": "groundstation:TagResource", + "UntagResource": "groundstation:UntagResource", + "UpdateConfig": "groundstation:UpdateConfig", + "UpdateMissionProfile": "groundstation:UpdateMissionProfile" + }, "guardduty": { "AcceptInvitation": "guardduty:AcceptInvitation", "ArchiveFindings": "guardduty:ArchiveFindings", @@ -1744,6 +2351,7 @@ "DeletePolicy": "iam:DeletePolicy", "DeletePolicyVersion": "iam:DeletePolicyVersion", "DeleteRole": "iam:DeleteRole", + "DeleteRolePermissionsBoundary": "iam:DeleteRolePermissionsBoundary", "DeleteRolePolicy": "iam:DeleteRolePolicy", "DeleteSAMLProvider": "iam:DeleteSAMLProvider", "DeleteSSHPublicKey": "iam:DeleteSSHPublicKey", @@ -1752,6 +2360,7 @@ "DeleteServiceSpecificCredential": "iam:DeleteServiceSpecificCredential", "DeleteSigningCertificate": "iam:DeleteSigningCertificate", "DeleteUser": "iam:DeleteUser", + "DeleteUserPermissionsBoundary": "iam:DeleteUserPermissionsBoundary", "DeleteUserPolicy": "iam:DeleteUserPolicy", "DeleteVirtualMFADevice": "iam:DeleteVirtualMFADevice", "DetachGroupPolicy": "iam:DetachGroupPolicy", @@ -1759,6 +2368,7 @@ "DetachUserPolicy": "iam:DetachUserPolicy", "EnableMFADevice": "iam:EnableMFADevice", "GenerateCredentialReport": "iam:GenerateCredentialReport", + "GenerateServiceLastAccessedDetails": "iam:GenerateServiceLastAccessedDetails", "GetAccessKeyLastUsed": "iam:GetAccessKeyLastUsed", "GetAccountAuthorizationDetails": "iam:GetAccountAuthorizationDetails", "GetAccountPasswordPolicy": "iam:GetAccountPasswordPolicy", @@ -1778,6 +2388,8 @@ "GetSAMLProvider": "iam:GetSAMLProvider", "GetSSHPublicKey": "iam:GetSSHPublicKey", "GetServerCertificate": "iam:GetServerCertificate", + "GetServiceLastAccessedDetails": "iam:GetServiceLastAccessedDetails", + "GetServiceLastAccessedDetailsWithEntities": "iam:GetServiceLastAccessedDetailsWithEntities", "GetServiceLinkedRoleDeletionStatus": "iam:GetServiceLinkedRoleDeletionStatus", "GetUser": "iam:GetUser", "GetUserPolicy": "iam:GetUserPolicy", @@ -1795,8 +2407,10 @@ "ListMFADevices": "iam:ListMFADevices", "ListOpenIDConnectProviders": "iam:ListOpenIDConnectProviders", "ListPolicies": "iam:ListPolicies", + "ListPoliciesGrantingServiceAccess": "iam:ListPoliciesGrantingServiceAccess", "ListPolicyVersions": "iam:ListPolicyVersions", "ListRolePolicies": "iam:ListRolePolicies", + "ListRoleTags": "iam:ListRoleTags", "ListRoles": "iam:ListRoles", "ListSAMLProviders": "iam:ListSAMLProviders", "ListSSHPublicKeys": "iam:ListSSHPublicKeys", @@ -1804,10 +2418,13 @@ "ListServiceSpecificCredentials": "iam:ListServiceSpecificCredentials", "ListSigningCertificates": "iam:ListSigningCertificates", "ListUserPolicies": "iam:ListUserPolicies", + "ListUserTags": "iam:ListUserTags", "ListUsers": "iam:ListUsers", "ListVirtualMFADevices": "iam:ListVirtualMFADevices", "PutGroupPolicy": "iam:PutGroupPolicy", + "PutRolePermissionsBoundary": "iam:PutRolePermissionsBoundary", "PutRolePolicy": "iam:PutRolePolicy", + "PutUserPermissionsBoundary": "iam:PutUserPermissionsBoundary", "PutUserPolicy": "iam:PutUserPolicy", "RemoveClientIDFromOpenIDConnectProvider": "iam:RemoveClientIDFromOpenIDConnectProvider", "RemoveRoleFromInstanceProfile": "iam:RemoveRoleFromInstanceProfile", @@ -1815,8 +2432,13 @@ "ResetServiceSpecificCredential": "iam:ResetServiceSpecificCredential", "ResyncMFADevice": "iam:ResyncMFADevice", "SetDefaultPolicyVersion": "iam:SetDefaultPolicyVersion", + "SetSecurityTokenServicePreferences": "iam:SetSecurityTokenServicePreferences", "SimulateCustomPolicy": "iam:SimulateCustomPolicy", "SimulatePrincipalPolicy": "iam:SimulatePrincipalPolicy", + "TagRole": "iam:TagRole", + "TagUser": "iam:TagUser", + "UntagRole": "iam:UntagRole", + "UntagUser": "iam:UntagUser", "UpdateAccessKey": "iam:UpdateAccessKey", "UpdateAccountPasswordPolicy": "iam:UpdateAccountPasswordPolicy", "UpdateAssumeRolePolicy": "iam:UpdateAssumeRolePolicy", @@ -1879,33 +2501,50 @@ }, "iot": { "AcceptCertificateTransfer": "iot:AcceptCertificateTransfer", + "AddThingToBillingGroup": "iot:AddThingToBillingGroup", "AddThingToThingGroup": "iot:AddThingToThingGroup", "AssociateTargetsWithJob": "iot:AssociateTargetsWithJob", "AttachPolicy": "iot:AttachPolicy", "AttachPrincipalPolicy": "iot:AttachPrincipalPolicy", + "AttachSecurityProfile": "iot:AttachSecurityProfile", "AttachThingPrincipal": "iot:AttachThingPrincipal", + "CancelAuditTask": "iot:CancelAuditTask", "CancelCertificateTransfer": "iot:CancelCertificateTransfer", "CancelJob": "iot:CancelJob", + "CancelJobExecution": "iot:CancelJobExecution", "ClearDefaultAuthorizer": "iot:ClearDefaultAuthorizer", "CreateAuthorizer": "iot:CreateAuthorizer", + "CreateBillingGroup": "iot:CreateBillingGroup", "CreateCertificateFromCsr": "iot:CreateCertificateFromCsr", + "CreateDynamicThingGroup": "iot:CreateDynamicThingGroup", "CreateJob": "iot:CreateJob", "CreateKeysAndCertificate": "iot:CreateKeysAndCertificate", + "CreateOTAUpdate": "iot:CreateOTAUpdate", "CreatePolicy": "iot:CreatePolicy", "CreatePolicyVersion": "iot:CreatePolicyVersion", "CreateRoleAlias": "iot:CreateRoleAlias", + "CreateScheduledAudit": "iot:CreateScheduledAudit", + "CreateSecurityProfile": "iot:CreateSecurityProfile", "CreateStream": "iot:CreateStream", "CreateThing": "iot:CreateThing", "CreateThingGroup": "iot:CreateThingGroup", "CreateThingType": "iot:CreateThingType", "CreateTopicRule": "iot:CreateTopicRule", + "DeleteAccountAuditConfiguration": "iot:DeleteAccountAuditConfiguration", "DeleteAuthorizer": "iot:DeleteAuthorizer", + "DeleteBillingGroup": "iot:DeleteBillingGroup", "DeleteCACertificate": "iot:DeleteCACertificate", "DeleteCertificate": "iot:DeleteCertificate", + "DeleteDynamicThingGroup": "iot:DeleteDynamicThingGroup", + "DeleteJob": "iot:DeleteJob", + "DeleteJobExecution": "iot:DeleteJobExecution", + "DeleteOTAUpdate": "iot:DeleteOTAUpdate", "DeletePolicy": "iot:DeletePolicy", "DeletePolicyVersion": "iot:DeletePolicyVersion", "DeleteRegistrationCode": "iot:DeleteRegistrationCode", "DeleteRoleAlias": "iot:DeleteRoleAlias", + "DeleteScheduledAudit": "iot:DeleteScheduledAudit", + "DeleteSecurityProfile": "iot:DeleteSecurityProfile", "DeleteStream": "iot:DeleteStream", "DeleteThing": "iot:DeleteThing", "DeleteThingGroup": "iot:DeleteThingGroup", @@ -1913,7 +2552,10 @@ "DeleteTopicRule": "iot:DeleteTopicRule", "DeleteV2LoggingLevel": "iot:DeleteV2LoggingLevel", "DeprecateThingType": "iot:DeprecateThingType", + "DescribeAccountAuditConfiguration": "iot:DescribeAccountAuditConfiguration", + "DescribeAuditTask": "iot:DescribeAuditTask", "DescribeAuthorizer": "iot:DescribeAuthorizer", + "DescribeBillingGroup": "iot:DescribeBillingGroup", "DescribeCACertificate": "iot:DescribeCACertificate", "DescribeCertificate": "iot:DescribeCertificate", "DescribeDefaultAuthorizer": "iot:DescribeDefaultAuthorizer", @@ -1923,6 +2565,8 @@ "DescribeJob": "iot:DescribeJob", "DescribeJobExecution": "iot:DescribeJobExecution", "DescribeRoleAlias": "iot:DescribeRoleAlias", + "DescribeScheduledAudit": "iot:DescribeScheduledAudit", + "DescribeSecurityProfile": "iot:DescribeSecurityProfile", "DescribeStream": "iot:DescribeStream", "DescribeThing": "iot:DescribeThing", "DescribeThingGroup": "iot:DescribeThingGroup", @@ -1930,6 +2574,7 @@ "DescribeThingType": "iot:DescribeThingType", "DetachPolicy": "iot:DetachPolicy", "DetachPrincipalPolicy": "iot:DetachPrincipalPolicy", + "DetachSecurityProfile": "iot:DetachSecurityProfile", "DetachThingPrincipal": "iot:DetachThingPrincipal", "DisableTopicRule": "iot:DisableTopicRule", "EnableTopicRule": "iot:EnableTopicRule", @@ -1937,13 +2582,19 @@ "GetIndexingConfiguration": "iot:GetIndexingConfiguration", "GetJobDocument": "iot:GetJobDocument", "GetLoggingOptions": "iot:GetLoggingOptions", + "GetOTAUpdate": "iot:GetOTAUpdate", "GetPolicy": "iot:GetPolicy", "GetPolicyVersion": "iot:GetPolicyVersion", "GetRegistrationCode": "iot:GetRegistrationCode", + "GetStatistics": "iot:GetStatistics", "GetTopicRule": "iot:GetTopicRule", "GetV2LoggingOptions": "iot:GetV2LoggingOptions", + "ListActiveViolations": "iot:ListActiveViolations", "ListAttachedPolicies": "iot:ListAttachedPolicies", + "ListAuditFindings": "iot:ListAuditFindings", + "ListAuditTasks": "iot:ListAuditTasks", "ListAuthorizers": "iot:ListAuthorizers", + "ListBillingGroups": "iot:ListBillingGroups", "ListCACertificates": "iot:ListCACertificates", "ListCertificates": "iot:ListCertificates", "ListCertificatesByCA": "iot:ListCertificatesByCA", @@ -1951,6 +2602,7 @@ "ListJobExecutionsForJob": "iot:ListJobExecutionsForJob", "ListJobExecutionsForThing": "iot:ListJobExecutionsForThing", "ListJobs": "iot:ListJobs", + "ListOTAUpdates": "iot:ListOTAUpdates", "ListOutgoingCertificates": "iot:ListOutgoingCertificates", "ListPolicies": "iot:ListPolicies", "ListPolicyPrincipals": "iot:ListPolicyPrincipals", @@ -1958,8 +2610,13 @@ "ListPrincipalPolicies": "iot:ListPrincipalPolicies", "ListPrincipalThings": "iot:ListPrincipalThings", "ListRoleAliases": "iot:ListRoleAliases", + "ListScheduledAudits": "iot:ListScheduledAudits", + "ListSecurityProfiles": "iot:ListSecurityProfiles", + "ListSecurityProfilesForTarget": "iot:ListSecurityProfilesForTarget", "ListStreams": "iot:ListStreams", + "ListTagsForResource": "iot:ListTagsForResource", "ListTargetsForPolicy": "iot:ListTargetsForPolicy", + "ListTargetsForSecurityProfile": "iot:ListTargetsForSecurityProfile", "ListThingGroups": "iot:ListThingGroups", "ListThingGroupsForThing": "iot:ListThingGroupsForThing", "ListThingPrincipals": "iot:ListThingPrincipals", @@ -1967,13 +2624,16 @@ "ListThingRegistrationTasks": "iot:ListThingRegistrationTasks", "ListThingTypes": "iot:ListThingTypes", "ListThings": "iot:ListThings", + "ListThingsInBillingGroup": "iot:ListThingsInBillingGroup", "ListThingsInThingGroup": "iot:ListThingsInThingGroup", "ListTopicRules": "iot:ListTopicRules", "ListV2LoggingLevels": "iot:ListV2LoggingLevels", + "ListViolationEvents": "iot:ListViolationEvents", "RegisterCACertificate": "iot:RegisterCACertificate", "RegisterCertificate": "iot:RegisterCertificate", "RegisterThing": "iot:RegisterThing", "RejectCertificateTransfer": "iot:RejectCertificateTransfer", + "RemoveThingFromBillingGroup": "iot:RemoveThingFromBillingGroup", "RemoveThingFromThingGroup": "iot:RemoveThingFromThingGroup", "ReplaceTopicRule": "iot:ReplaceTopicRule", "SearchIndex": "iot:SearchIndex", @@ -1982,21 +2642,31 @@ "SetLoggingOptions": "iot:SetLoggingOptions", "SetV2LoggingLevel": "iot:SetV2LoggingLevel", "SetV2LoggingOptions": "iot:SetV2LoggingOptions", + "StartOnDemandAuditTask": "iot:StartOnDemandAuditTask", "StartThingRegistrationTask": "iot:StartThingRegistrationTask", "StopThingRegistrationTask": "iot:StopThingRegistrationTask", + "TagResource": "iot:TagResource", "TestAuthorization": "iot:TestAuthorization", "TestInvokeAuthorizer": "iot:TestInvokeAuthorizer", "TransferCertificate": "iot:TransferCertificate", + "UntagResource": "iot:UntagResource", + "UpdateAccountAuditConfiguration": "iot:UpdateAccountAuditConfiguration", "UpdateAuthorizer": "iot:UpdateAuthorizer", + "UpdateBillingGroup": "iot:UpdateBillingGroup", "UpdateCACertificate": "iot:UpdateCACertificate", "UpdateCertificate": "iot:UpdateCertificate", + "UpdateDynamicThingGroup": "iot:UpdateDynamicThingGroup", "UpdateEventConfigurations": "iot:UpdateEventConfigurations", "UpdateIndexingConfiguration": "iot:UpdateIndexingConfiguration", + "UpdateJob": "iot:UpdateJob", "UpdateRoleAlias": "iot:UpdateRoleAlias", + "UpdateScheduledAudit": "iot:UpdateScheduledAudit", + "UpdateSecurityProfile": "iot:UpdateSecurityProfile", "UpdateStream": "iot:UpdateStream", "UpdateThing": "iot:UpdateThing", "UpdateThingGroup": "iot:UpdateThingGroup", - "UpdateThingGroupsForThing": "iot:UpdateThingGroupsForThing" + "UpdateThingGroupsForThing": "iot:UpdateThingGroupsForThing", + "ValidateSecurityProfileBehaviors": "iot:ValidateSecurityProfileBehaviors" }, "iot-data": { "DeleteThingShadow": "iot:DeleteThingShadow", @@ -2005,7 +2675,10 @@ "UpdateThingShadow": "iot:UpdateThingShadow" }, "iot-jobs-data": { - "DescribeJobExecution": "iot:DescribeJobExecution" + "DescribeJobExecution": "iot:DescribeJobExecution", + "GetPendingJobExecutions": "iot:GetPendingJobExecutions", + "StartNextPendingJobExecution": "iot:StartNextPendingJobExecution", + "UpdateJobExecution": "iot:UpdateJobExecution" }, "iotanalytics": { "BatchPutMessage": "iotanalytics:BatchPutMessage", @@ -2030,37 +2703,85 @@ "ListDatasets": "iotanalytics:ListDatasets", "ListDatastores": "iotanalytics:ListDatastores", "ListPipelines": "iotanalytics:ListPipelines", + "ListTagsForResource": "iotanalytics:ListTagsForResource", "PutLoggingOptions": "iotanalytics:PutLoggingOptions", "RunPipelineActivity": "iotanalytics:RunPipelineActivity", "SampleChannelData": "iotanalytics:SampleChannelData", "StartPipelineReprocessing": "iotanalytics:StartPipelineReprocessing", + "TagResource": "iotanalytics:TagResource", + "UntagResource": "iotanalytics:UntagResource", "UpdateChannel": "iotanalytics:UpdateChannel", "UpdateDataset": "iotanalytics:UpdateDataset", "UpdateDatastore": "iotanalytics:UpdateDatastore", "UpdatePipeline": "iotanalytics:UpdatePipeline" }, + "iotevents": { + "CreateDetectorModel": "iotevents:CreateDetectorModel", + "CreateInput": "iotevents:CreateInput", + "DeleteDetectorModel": "iotevents:DeleteDetectorModel", + "DeleteInput": "iotevents:DeleteInput", + "DescribeDetectorModel": "iotevents:DescribeDetectorModel", + "DescribeInput": "iotevents:DescribeInput", + "DescribeLoggingOptions": "iotevents:DescribeLoggingOptions", + "ListDetectorModelVersions": "iotevents:ListDetectorModelVersions", + "ListDetectorModels": "iotevents:ListDetectorModels", + "ListInputs": "iotevents:ListInputs", + "ListTagsForResource": "iotevents:ListTagsForResource", + "PutLoggingOptions": "iotevents:PutLoggingOptions", + "TagResource": "iotevents:TagResource", + "UntagResource": "iotevents:UntagResource", + "UpdateDetectorModel": "iotevents:UpdateDetectorModel", + "UpdateInput": "iotevents:UpdateInput" + }, + "kafka": { + "CreateCluster": "kafka:CreateCluster", + "CreateConfiguration": "kafka:CreateConfiguration", + "DeleteCluster": "kafka:DeleteCluster", + "DescribeCluster": "kafka:DescribeCluster", + "DescribeClusterOperation": "kafka:DescribeClusterOperation", + "DescribeConfiguration": "kafka:DescribeConfiguration", + "DescribeConfigurationRevision": "kafka:DescribeConfigurationRevision", + "GetBootstrapBrokers": "kafka:GetBootstrapBrokers", + "ListClusterOperations": "kafka:ListClusterOperations", + "ListClusters": "kafka:ListClusters", + "ListConfigurations": "kafka:ListConfigurations", + "ListNodes": "kafka:ListNodes", + "ListTagsForResource": "kafka:ListTagsForResource", + "TagResource": "kafka:TagResource", + "UntagResource": "kafka:UntagResource", + "UpdateBrokerStorage": "kafka:UpdateBrokerStorage", + "UpdateClusterConfiguration": "kafka:UpdateClusterConfiguration" + }, "kinesis": { "AddTagsToStream": "kinesis:AddTagsToStream", "CreateStream": "kinesis:CreateStream", "DecreaseStreamRetentionPeriod": "kinesis:DecreaseStreamRetentionPeriod", "DeleteStream": "kinesis:DeleteStream", + "DeregisterStreamConsumer": "kinesis:DeregisterStreamConsumer", "DescribeLimits": "kinesis:DescribeLimits", "DescribeStream": "kinesis:DescribeStream", + "DescribeStreamConsumer": "kinesis:DescribeStreamConsumer", + "DescribeStreamSummary": "kinesis:DescribeStreamSummary", "DisableEnhancedMonitoring": "kinesis:DisableEnhancedMonitoring", "EnableEnhancedMonitoring": "kinesis:EnableEnhancedMonitoring", "GetRecords": "kinesis:GetRecords", "GetShardIterator": "kinesis:GetShardIterator", "IncreaseStreamRetentionPeriod": "kinesis:IncreaseStreamRetentionPeriod", + "ListShards": "kinesis:ListShards", + "ListStreamConsumers": "kinesis:ListStreamConsumers", "ListStreams": "kinesis:ListStreams", "ListTagsForStream": "kinesis:ListTagsForStream", "MergeShards": "kinesis:MergeShards", "PutRecord": "kinesis:PutRecord", "PutRecords": "kinesis:PutRecords", + "RegisterStreamConsumer": "kinesis:RegisterStreamConsumer", "RemoveTagsFromStream": "kinesis:RemoveTagsFromStream", "SplitShard": "kinesis:SplitShard", + "SubscribeToShard": "kinesis:SubscribeToShard", "UpdateShardCount": "kinesis:UpdateShardCount" }, "kinesis-video-archived-media": { + "GetHLSStreamingSessionURL": "kinesisvideo:GetHLSStreamingSessionURL", "GetMediaForFragmentList": "kinesisvideo:GetMediaForFragmentList", "ListFragments": "kinesisvideo:ListFragments" }, @@ -2068,18 +2789,25 @@ "GetMedia": "kinesisvideo:GetMedia" }, "kinesisanalytics": { + "AddApplicationCloudWatchLoggingOption": "kinesisanalytics:AddApplicationCloudWatchLoggingOption", "AddApplicationInput": "kinesisanalytics:AddApplicationInput", + "AddApplicationInputProcessingConfiguration": "kinesisanalytics:AddApplicationInputProcessingConfiguration", "AddApplicationOutput": "kinesisanalytics:AddApplicationOutput", "AddApplicationReferenceDataSource": "kinesisanalytics:AddApplicationReferenceDataSource", "CreateApplication": "kinesisanalytics:CreateApplication", "DeleteApplication": "kinesisanalytics:DeleteApplication", + "DeleteApplicationCloudWatchLoggingOption": "kinesisanalytics:DeleteApplicationCloudWatchLoggingOption", + "DeleteApplicationInputProcessingConfiguration": "kinesisanalytics:DeleteApplicationInputProcessingConfiguration", "DeleteApplicationOutput": "kinesisanalytics:DeleteApplicationOutput", "DeleteApplicationReferenceDataSource": "kinesisanalytics:DeleteApplicationReferenceDataSource", "DescribeApplication": "kinesisanalytics:DescribeApplication", "DiscoverInputSchema": "kinesisanalytics:DiscoverInputSchema", "ListApplications": "kinesisanalytics:ListApplications", + "ListTagsForResource": "kinesisanalytics:ListTagsForResource", "StartApplication": "kinesisanalytics:StartApplication", "StopApplication": "kinesisanalytics:StopApplication", + "TagResource": "kinesisanalytics:TagResource", + "UntagResource": "kinesisanalytics:UntagResource", "UpdateApplication": "kinesisanalytics:UpdateApplication" }, "kinesisvideo": { @@ -2096,15 +2824,20 @@ }, "kms": { "CancelKeyDeletion": "kms:CancelKeyDeletion", + "ConnectCustomKeyStore": "kms:ConnectCustomKeyStore", "CreateAlias": "kms:CreateAlias", + "CreateCustomKeyStore": "kms:CreateCustomKeyStore", "CreateGrant": "kms:CreateGrant", "CreateKey": "kms:CreateKey", "Decrypt": "kms:Decrypt", "DeleteAlias": "kms:DeleteAlias", + "DeleteCustomKeyStore": "kms:DeleteCustomKeyStore", "DeleteImportedKeyMaterial": "kms:DeleteImportedKeyMaterial", + "DescribeCustomKeyStores": "kms:DescribeCustomKeyStores", "DescribeKey": "kms:DescribeKey", "DisableKey": "kms:DisableKey", "DisableKeyRotation": "kms:DisableKeyRotation", + "DisconnectCustomKeyStore": "kms:DisconnectCustomKeyStore", "EnableKey": "kms:EnableKey", "EnableKeyRotation": "kms:EnableKeyRotation", "Encrypt": "kms:Encrypt", @@ -2128,9 +2861,11 @@ "TagResource": "kms:TagResource", "UntagResource": "kms:UntagResource", "UpdateAlias": "kms:UpdateAlias", + "UpdateCustomKeyStore": "kms:UpdateCustomKeyStore", "UpdateKeyDescription": "kms:UpdateKeyDescription" }, "lambda": { + "AddLayerVersionPermission": "lambda:AddLayerVersionPermission", "AddPermission": "lambda:AddPermission", "CreateAlias": "lambda:CreateAlias", "CreateEventSourceMapping": "lambda:CreateEventSourceMapping", @@ -2139,20 +2874,27 @@ "DeleteEventSourceMapping": "lambda:DeleteEventSourceMapping", "DeleteFunction": "lambda:DeleteFunction", "DeleteFunctionConcurrency": "lambda:DeleteFunctionConcurrency", + "DeleteLayerVersion": "lambda:DeleteLayerVersion", "GetAccountSettings": "lambda:GetAccountSettings", "GetAlias": "lambda:GetAlias", "GetEventSourceMapping": "lambda:GetEventSourceMapping", "GetFunction": "lambda:GetFunction", "GetFunctionConfiguration": "lambda:GetFunctionConfiguration", + "GetLayerVersion": "lambda:GetLayerVersion", + "GetLayerVersionPolicy": "lambda:GetLayerVersionPolicy", "GetPolicy": "lambda:GetPolicy", "InvokeAsync": "lambda:InvokeAsync", "ListAliases": "lambda:ListAliases", "ListEventSourceMappings": "lambda:ListEventSourceMappings", "ListFunctions": "lambda:ListFunctions", + "ListLayerVersions": "lambda:ListLayerVersions", + "ListLayers": "lambda:ListLayers", "ListTags": "lambda:ListTags", "ListVersionsByFunction": "lambda:ListVersionsByFunction", + "PublishLayerVersion": "lambda:PublishLayerVersion", "PublishVersion": "lambda:PublishVersion", "PutFunctionConcurrency": "lambda:PutFunctionConcurrency", + "RemoveLayerVersionPermission": "lambda:RemoveLayerVersionPermission", "RemovePermission": "lambda:RemovePermission", "TagResource": "lambda:TagResource", "UntagResource": "lambda:UntagResource", @@ -2200,28 +2942,74 @@ "PostContent": "lex:PostContent", "PostText": "lex:PostText" }, + "license-manager": { + "CreateLicenseConfiguration": "license-manager:CreateLicenseConfiguration", + "DeleteLicenseConfiguration": "license-manager:DeleteLicenseConfiguration", + "GetLicenseConfiguration": "license-manager:GetLicenseConfiguration", + "GetServiceSettings": "license-manager:GetServiceSettings", + "ListAssociationsForLicenseConfiguration": "license-manager:ListAssociationsForLicenseConfiguration", + "ListLicenseConfigurations": "license-manager:ListLicenseConfigurations", + "ListLicenseSpecificationsForResource": "license-manager:ListLicenseSpecificationsForResource", + "ListResourceInventory": "license-manager:ListResourceInventory", + "ListTagsForResource": "license-manager:ListTagsForResource", + "ListUsageForLicenseConfiguration": "license-manager:ListUsageForLicenseConfiguration", + "TagResource": "license-manager:TagResource", + "UntagResource": "license-manager:UntagResource", + "UpdateLicenseConfiguration": "license-manager:UpdateLicenseConfiguration", + "UpdateLicenseSpecificationsForResource": "license-manager:UpdateLicenseSpecificationsForResource", + "UpdateServiceSettings": "license-manager:UpdateServiceSettings" + }, "lightsail": { "AllocateStaticIp": "lightsail:AllocateStaticIp", + "AttachDisk": "lightsail:AttachDisk", + "AttachInstancesToLoadBalancer": "lightsail:AttachInstancesToLoadBalancer", + "AttachLoadBalancerTlsCertificate": "lightsail:AttachLoadBalancerTlsCertificate", "AttachStaticIp": "lightsail:AttachStaticIp", "CloseInstancePublicPorts": "lightsail:CloseInstancePublicPorts", + "CopySnapshot": "lightsail:CopySnapshot", + "CreateCloudFormationStack": "lightsail:CreateCloudFormationStack", + "CreateDisk": "lightsail:CreateDisk", + "CreateDiskFromSnapshot": "lightsail:CreateDiskFromSnapshot", + "CreateDiskSnapshot": "lightsail:CreateDiskSnapshot", "CreateDomain": "lightsail:CreateDomain", "CreateDomainEntry": "lightsail:CreateDomainEntry", "CreateInstanceSnapshot": "lightsail:CreateInstanceSnapshot", "CreateInstances": "lightsail:CreateInstances", "CreateInstancesFromSnapshot": "lightsail:CreateInstancesFromSnapshot", "CreateKeyPair": "lightsail:CreateKeyPair", + "CreateLoadBalancer": "lightsail:CreateLoadBalancer", + "CreateLoadBalancerTlsCertificate": "lightsail:CreateLoadBalancerTlsCertificate", + "CreateRelationalDatabase": "lightsail:CreateRelationalDatabase", + "CreateRelationalDatabaseFromSnapshot": "lightsail:CreateRelationalDatabaseFromSnapshot", + "CreateRelationalDatabaseSnapshot": "lightsail:CreateRelationalDatabaseSnapshot", + "DeleteDisk": "lightsail:DeleteDisk", + "DeleteDiskSnapshot": "lightsail:DeleteDiskSnapshot", "DeleteDomain": "lightsail:DeleteDomain", "DeleteDomainEntry": "lightsail:DeleteDomainEntry", "DeleteInstance": "lightsail:DeleteInstance", "DeleteInstanceSnapshot": "lightsail:DeleteInstanceSnapshot", "DeleteKeyPair": "lightsail:DeleteKeyPair", + "DeleteKnownHostKeys": "lightsail:DeleteKnownHostKeys", + "DeleteLoadBalancer": "lightsail:DeleteLoadBalancer", + "DeleteLoadBalancerTlsCertificate": "lightsail:DeleteLoadBalancerTlsCertificate", + "DeleteRelationalDatabase": "lightsail:DeleteRelationalDatabase", + "DeleteRelationalDatabaseSnapshot": "lightsail:DeleteRelationalDatabaseSnapshot", + "DetachDisk": "lightsail:DetachDisk", + "DetachInstancesFromLoadBalancer": "lightsail:DetachInstancesFromLoadBalancer", "DetachStaticIp": "lightsail:DetachStaticIp", "DownloadDefaultKeyPair": "lightsail:DownloadDefaultKeyPair", + "ExportSnapshot": "lightsail:ExportSnapshot", "GetActiveNames": "lightsail:GetActiveNames", "GetBlueprints": "lightsail:GetBlueprints", "GetBundles": "lightsail:GetBundles", + "GetCloudFormationStackRecords": "lightsail:GetCloudFormationStackRecords", + "GetDisk": "lightsail:GetDisk", + "GetDiskSnapshot": "lightsail:GetDiskSnapshot", + "GetDiskSnapshots": "lightsail:GetDiskSnapshots", + "GetDisks": "lightsail:GetDisks", "GetDomain": "lightsail:GetDomain", "GetDomains": "lightsail:GetDomains", + "GetExportSnapshotRecords": "lightsail:GetExportSnapshotRecords", "GetInstance": "lightsail:GetInstance", "GetInstanceAccessDetails": "lightsail:GetInstanceAccessDetails", "GetInstanceMetricData": "lightsail:GetInstanceMetricData", @@ -2232,22 +3020,47 @@ "GetInstances": "lightsail:GetInstances", "GetKeyPair": "lightsail:GetKeyPair", "GetKeyPairs": "lightsail:GetKeyPairs", + "GetLoadBalancer": "lightsail:GetLoadBalancer", + "GetLoadBalancerMetricData": "lightsail:GetLoadBalancerMetricData", + "GetLoadBalancerTlsCertificates": "lightsail:GetLoadBalancerTlsCertificates", + "GetLoadBalancers": "lightsail:GetLoadBalancers", "GetOperation": "lightsail:GetOperation", "GetOperations": "lightsail:GetOperations", "GetOperationsForResource": "lightsail:GetOperationsForResource", "GetRegions": "lightsail:GetRegions", + "GetRelationalDatabase": "lightsail:GetRelationalDatabase", + "GetRelationalDatabaseBlueprints": "lightsail:GetRelationalDatabaseBlueprints", + "GetRelationalDatabaseBundles": "lightsail:GetRelationalDatabaseBundles", + "GetRelationalDatabaseEvents": "lightsail:GetRelationalDatabaseEvents", + "GetRelationalDatabaseLogEvents": "lightsail:GetRelationalDatabaseLogEvents", + "GetRelationalDatabaseLogStreams": "lightsail:GetRelationalDatabaseLogStreams", + "GetRelationalDatabaseMasterUserPassword": "lightsail:GetRelationalDatabaseMasterUserPassword", + "GetRelationalDatabaseMetricData": "lightsail:GetRelationalDatabaseMetricData", + "GetRelationalDatabaseParameters": "lightsail:GetRelationalDatabaseParameters", + "GetRelationalDatabaseSnapshot": "lightsail:GetRelationalDatabaseSnapshot", + "GetRelationalDatabaseSnapshots": "lightsail:GetRelationalDatabaseSnapshots", + "GetRelationalDatabases": "lightsail:GetRelationalDatabases", "GetStaticIp": "lightsail:GetStaticIp", "GetStaticIps": "lightsail:GetStaticIps", "ImportKeyPair": "lightsail:ImportKeyPair", "IsVpcPeered": "lightsail:IsVpcPeered", "OpenInstancePublicPorts": "lightsail:OpenInstancePublicPorts", "PeerVpc": "lightsail:PeerVpc", + "PutInstancePublicPorts": "lightsail:PutInstancePublicPorts", "RebootInstance": "lightsail:RebootInstance", + "RebootRelationalDatabase": "lightsail:RebootRelationalDatabase", "ReleaseStaticIp": "lightsail:ReleaseStaticIp", "StartInstance": "lightsail:StartInstance", + "StartRelationalDatabase": "lightsail:StartRelationalDatabase", "StopInstance": "lightsail:StopInstance", + "StopRelationalDatabase": "lightsail:StopRelationalDatabase", + "TagResource": "lightsail:TagResource", "UnpeerVpc": "lightsail:UnpeerVpc", - "UpdateDomainEntry": "lightsail:UpdateDomainEntry" + "UntagResource": "lightsail:UntagResource", + "UpdateDomainEntry": "lightsail:UpdateDomainEntry", + "UpdateLoadBalancerAttribute": "lightsail:UpdateLoadBalancerAttribute", + "UpdateRelationalDatabase": "lightsail:UpdateRelationalDatabase", + "UpdateRelationalDatabaseParameters": "lightsail:UpdateRelationalDatabaseParameters" }, "logs": { "AssociateKmsKey": "logs:AssociateKmsKey", @@ -2267,11 +3080,15 @@ "DescribeLogGroups": "logs:DescribeLogGroups", "DescribeLogStreams": "logs:DescribeLogStreams", "DescribeMetricFilters": "logs:DescribeMetricFilters", + "DescribeQueries": "logs:DescribeQueries", "DescribeResourcePolicies": "logs:DescribeResourcePolicies", "DescribeSubscriptionFilters": "logs:DescribeSubscriptionFilters", "DisassociateKmsKey": "logs:DisassociateKmsKey", "FilterLogEvents": "logs:FilterLogEvents", "GetLogEvents": "logs:GetLogEvents", + "GetLogGroupFields": "logs:GetLogGroupFields", + "GetLogRecord": "logs:GetLogRecord", + "GetQueryResults": "logs:GetQueryResults", "ListTagsLogGroup": "logs:ListTagsLogGroup", "PutDestination": "logs:PutDestination", "PutDestinationPolicy": "logs:PutDestinationPolicy", @@ -2280,6 +3097,8 @@ "PutResourcePolicy": "logs:PutResourcePolicy", "PutRetentionPolicy": "logs:PutRetentionPolicy", "PutSubscriptionFilter": "logs:PutSubscriptionFilter", + "StartQuery": "logs:StartQuery", + "StopQuery": "logs:StopQuery", "TagLogGroup": "logs:TagLogGroup", "TestMetricFilter": "logs:TestMetricFilter", "UntagLogGroup": "logs:UntagLogGroup" @@ -2314,7 +3133,53 @@ "UpdateEvaluation": "machinelearning:UpdateEvaluation", "UpdateMLModel": "machinelearning:UpdateMLModel" }, + "macie": { + "AssociateMemberAccount": "macie:AssociateMemberAccount", + "AssociateS3Resources": "macie:AssociateS3Resources", + "DisassociateMemberAccount": "macie:DisassociateMemberAccount", + "DisassociateS3Resources": "macie:DisassociateS3Resources", + "ListMemberAccounts": "macie:ListMemberAccounts", + "ListS3Resources": "macie:ListS3Resources", + "UpdateS3Resources": "macie:UpdateS3Resources" + }, + "managedblockchain": { + "CreateMember": "managedblockchain:CreateMember", + "CreateNetwork": "managedblockchain:CreateNetwork", + "CreateNode": "managedblockchain:CreateNode", + "CreateProposal": "managedblockchain:CreateProposal", + "DeleteMember": "managedblockchain:DeleteMember", + "DeleteNode": "managedblockchain:DeleteNode", + "GetMember": "managedblockchain:GetMember", + "GetNetwork": "managedblockchain:GetNetwork", + "GetNode": "managedblockchain:GetNode", + "GetProposal": "managedblockchain:GetProposal", + "ListInvitations": "managedblockchain:ListInvitations", + "ListMembers": "managedblockchain:ListMembers", + "ListNetworks": "managedblockchain:ListNetworks", + "ListNodes": "managedblockchain:ListNodes", + "ListProposalVotes": "managedblockchain:ListProposalVotes", + "ListProposals": "managedblockchain:ListProposals", + "RejectInvitation": "managedblockchain:RejectInvitation", + "VoteOnProposal": "managedblockchain:VoteOnProposal" + }, + "mediaconnect": { + "AddFlowOutputs": "mediaconnect:AddFlowOutputs", + "CreateFlow": "mediaconnect:CreateFlow", + "DeleteFlow": "mediaconnect:DeleteFlow", + "DescribeFlow": "mediaconnect:DescribeFlow", + "GrantFlowEntitlements": "mediaconnect:GrantFlowEntitlements", + "ListEntitlements": "mediaconnect:ListEntitlements", + "ListFlows": "mediaconnect:ListFlows", + "RemoveFlowOutput": "mediaconnect:RemoveFlowOutput", + "RevokeFlowEntitlement": "mediaconnect:RevokeFlowEntitlement", + "StartFlow": "mediaconnect:StartFlow", + "StopFlow": "mediaconnect:StopFlow", + "UpdateFlowEntitlement": "mediaconnect:UpdateFlowEntitlement", + "UpdateFlowOutput": "mediaconnect:UpdateFlowOutput", + "UpdateFlowSource": "mediaconnect:UpdateFlowSource" + }, "mediaconvert": { + "AssociateCertificate": "mediaconvert:AssociateCertificate", "CancelJob": "mediaconvert:CancelJob", "CreateJob": "mediaconvert:CreateJob", "CreateJobTemplate": "mediaconvert:CreateJobTemplate", @@ -2324,6 +3189,7 @@ "DeletePreset": "mediaconvert:DeletePreset", "DeleteQueue": "mediaconvert:DeleteQueue", "DescribeEndpoints": "mediaconvert:DescribeEndpoints", + "DisassociateCertificate": "mediaconvert:DisassociateCertificate", "GetJob": "mediaconvert:GetJob", "GetJobTemplate": "mediaconvert:GetJobTemplate", "GetPreset": "mediaconvert:GetPreset", @@ -2332,10 +3198,22 @@ "ListJobs": "mediaconvert:ListJobs", "ListPresets": "mediaconvert:ListPresets", "ListQueues": "mediaconvert:ListQueues", + "ListTagsForResource": "mediaconvert:ListTagsForResource", + "TagResource": "mediaconvert:TagResource", + "UntagResource": "mediaconvert:UntagResource", "UpdateJobTemplate": "mediaconvert:UpdateJobTemplate", "UpdatePreset": "mediaconvert:UpdatePreset", "UpdateQueue": "mediaconvert:UpdateQueue" }, + "mediatailor": { + "DeletePlaybackConfiguration": "mediatailor:DeletePlaybackConfiguration", + "GetPlaybackConfiguration": "mediatailor:GetPlaybackConfiguration", + "ListPlaybackConfigurations": "mediatailor:ListPlaybackConfigurations", + "ListTagsForResource": "mediatailor:ListTagsForResource", + "PutPlaybackConfiguration": "mediatailor:PutPlaybackConfiguration", + "TagResource": "mediatailor:TagResource", + "UntagResource": "mediatailor:UntagResource" + }, "mobile": { "CreateProject": "mobilehub:CreateProject", "DeleteProject": "mobilehub:DeleteProject", @@ -2349,16 +3227,21 @@ "mq": { "CreateBroker": "mq:CreateBroker", "CreateConfiguration": "mq:CreateConfiguration", + "CreateTags": "mq:CreateTags", "CreateUser": "mq:CreateUser", "DeleteBroker": "mq:DeleteBroker", + "DeleteTags": "mq:DeleteTags", "DeleteUser": "mq:DeleteUser", "DescribeBroker": "mq:DescribeBroker", + "DescribeBrokerEngineTypes": "mq:DescribeBrokerEngineTypes", + "DescribeBrokerInstanceOptions": "mq:DescribeBrokerInstanceOptions", "DescribeConfiguration": "mq:DescribeConfiguration", "DescribeConfigurationRevision": "mq:DescribeConfigurationRevision", "DescribeUser": "mq:DescribeUser", "ListBrokers": "mq:ListBrokers", "ListConfigurationRevisions": "mq:ListConfigurationRevisions", "ListConfigurations": "mq:ListConfigurations", + "ListTags": "mq:ListTags", "ListUsers": "mq:ListUsers", "RebootBroker": "mq:RebootBroker", "UpdateBroker": "mq:UpdateBroker", @@ -2381,6 +3264,7 @@ "SendTestEventNotification": "mechanicalturk:SendTestEventNotification", "UpdateQualificationType": "mechanicalturk:UpdateQualificationType" }, + "neptune": {}, "opsworks": { "AssignInstance": "opsworks:AssignInstance", "AssignVolume": "opsworks:AssignVolume", @@ -2478,6 +3362,7 @@ "AttachPolicy": "organizations:AttachPolicy", "CancelHandshake": "organizations:CancelHandshake", "CreateAccount": "organizations:CreateAccount", + "CreateGovCloudAccount": "organizations:CreateGovCloudAccount", "CreateOrganization": "organizations:CreateOrganization", "CreateOrganizationalUnit": "organizations:CreateOrganizationalUnit", "CreatePolicy": "organizations:CreatePolicy", @@ -2522,43 +3407,144 @@ "GetResourceMetrics": "pi:GetResourceMetrics" }, "pinpoint": { + "CreateApp": "mobiletargeting:CreateApp", "CreateCampaign": "mobiletargeting:CreateCampaign", + "CreateExportJob": "mobiletargeting:CreateExportJob", "CreateImportJob": "mobiletargeting:CreateImportJob", "CreateSegment": "mobiletargeting:CreateSegment", + "DeleteAdmChannel": "mobiletargeting:DeleteAdmChannel", "DeleteApnsChannel": "mobiletargeting:DeleteApnsChannel", + "DeleteApnsSandboxChannel": "mobiletargeting:DeleteApnsSandboxChannel", + "DeleteApnsVoipChannel": "mobiletargeting:DeleteApnsVoipChannel", + "DeleteApnsVoipSandboxChannel": "mobiletargeting:DeleteApnsVoipSandboxChannel", + "DeleteApp": "mobiletargeting:DeleteApp", + "DeleteBaiduChannel": "mobiletargeting:DeleteBaiduChannel", "DeleteCampaign": "mobiletargeting:DeleteCampaign", + "DeleteEmailChannel": "mobiletargeting:DeleteEmailChannel", + "DeleteEndpoint": "mobiletargeting:DeleteEndpoint", + "DeleteEventStream": "mobiletargeting:DeleteEventStream", "DeleteGcmChannel": "mobiletargeting:DeleteGcmChannel", "DeleteSegment": "mobiletargeting:DeleteSegment", + "DeleteSmsChannel": "mobiletargeting:DeleteSmsChannel", + "DeleteUserEndpoints": "mobiletargeting:DeleteUserEndpoints", + "DeleteVoiceChannel": "mobiletargeting:DeleteVoiceChannel", + "GetAdmChannel": "mobiletargeting:GetAdmChannel", "GetApnsChannel": "mobiletargeting:GetApnsChannel", + "GetApnsSandboxChannel": "mobiletargeting:GetApnsSandboxChannel", + "GetApnsVoipChannel": "mobiletargeting:GetApnsVoipChannel", + "GetApnsVoipSandboxChannel": "mobiletargeting:GetApnsVoipSandboxChannel", + "GetApp": "mobiletargeting:GetApp", "GetApplicationSettings": "mobiletargeting:GetApplicationSettings", + "GetApps": "mobiletargeting:GetApps", + "GetBaiduChannel": "mobiletargeting:GetBaiduChannel", "GetCampaign": "mobiletargeting:GetCampaign", "GetCampaignActivities": "mobiletargeting:GetCampaignActivities", "GetCampaignVersion": "mobiletargeting:GetCampaignVersion", "GetCampaignVersions": "mobiletargeting:GetCampaignVersions", "GetCampaigns": "mobiletargeting:GetCampaigns", + "GetChannels": "mobiletargeting:GetChannels", + "GetEmailChannel": "mobiletargeting:GetEmailChannel", "GetEndpoint": "mobiletargeting:GetEndpoint", + "GetEventStream": "mobiletargeting:GetEventStream", + "GetExportJob": "mobiletargeting:GetExportJob", + "GetExportJobs": "mobiletargeting:GetExportJobs", "GetGcmChannel": "mobiletargeting:GetGcmChannel", "GetImportJob": "mobiletargeting:GetImportJob", "GetImportJobs": "mobiletargeting:GetImportJobs", "GetSegment": "mobiletargeting:GetSegment", + "GetSegmentExportJobs": "mobiletargeting:GetSegmentExportJobs", "GetSegmentImportJobs": "mobiletargeting:GetSegmentImportJobs", "GetSegmentVersion": "mobiletargeting:GetSegmentVersion", "GetSegmentVersions": "mobiletargeting:GetSegmentVersions", "GetSegments": "mobiletargeting:GetSegments", + "GetSmsChannel": "mobiletargeting:GetSmsChannel", + "GetUserEndpoints": "mobiletargeting:GetUserEndpoints", + "GetVoiceChannel": "mobiletargeting:GetVoiceChannel", + "ListTagsForResource": "mobiletargeting:ListTagsForResource", + "PhoneNumberValidate": "mobiletargeting:PhoneNumberValidate", + "PutEventStream": "mobiletargeting:PutEventStream", + "PutEvents": "mobiletargeting:PutEvents", + "RemoveAttributes": "mobiletargeting:RemoveAttributes", + "SendMessages": "mobiletargeting:SendMessages", + "SendUsersMessages": "mobiletargeting:SendUsersMessages", + "TagResource": "mobiletargeting:TagResource", + "UntagResource": "mobiletargeting:UntagResource", + "UpdateAdmChannel": "mobiletargeting:UpdateAdmChannel", "UpdateApnsChannel": "mobiletargeting:UpdateApnsChannel", + "UpdateApnsSandboxChannel": "mobiletargeting:UpdateApnsSandboxChannel", + "UpdateApnsVoipChannel": "mobiletargeting:UpdateApnsVoipChannel", + "UpdateApnsVoipSandboxChannel": "mobiletargeting:UpdateApnsVoipSandboxChannel", "UpdateApplicationSettings": "mobiletargeting:UpdateApplicationSettings", + "UpdateBaiduChannel": "mobiletargeting:UpdateBaiduChannel", "UpdateCampaign": "mobiletargeting:UpdateCampaign", + "UpdateEmailChannel": "mobiletargeting:UpdateEmailChannel", "UpdateEndpoint": "mobiletargeting:UpdateEndpoint", "UpdateEndpointsBatch": "mobiletargeting:UpdateEndpointsBatch", "UpdateGcmChannel": "mobiletargeting:UpdateGcmChannel", - "UpdateSegment": "mobiletargeting:UpdateSegment" + "UpdateSegment": "mobiletargeting:UpdateSegment", + "UpdateSmsChannel": "mobiletargeting:UpdateSmsChannel", + "UpdateVoiceChannel": "mobiletargeting:UpdateVoiceChannel" + }, + "pinpoint-email": { + "CreateConfigurationSet": "ses:CreateConfigurationSet", + "CreateConfigurationSetEventDestination": "ses:CreateConfigurationSetEventDestination", + "CreateDedicatedIpPool": "ses:CreateDedicatedIpPool", + "CreateDeliverabilityTestReport": "ses:CreateDeliverabilityTestReport", + "CreateEmailIdentity": "ses:CreateEmailIdentity", + "DeleteConfigurationSet": "ses:DeleteConfigurationSet", + "DeleteConfigurationSetEventDestination": "ses:DeleteConfigurationSetEventDestination", + "DeleteDedicatedIpPool": "ses:DeleteDedicatedIpPool", + "DeleteEmailIdentity": "ses:DeleteEmailIdentity", + "GetAccount": "ses:GetAccount", + "GetBlacklistReports": "ses:GetBlacklistReports", + "GetConfigurationSet": "ses:GetConfigurationSet", + "GetConfigurationSetEventDestinations": "ses:GetConfigurationSetEventDestinations", + "GetDedicatedIp": "ses:GetDedicatedIp", + "GetDedicatedIps": "ses:GetDedicatedIps", + "GetDeliverabilityDashboardOptions": "ses:GetDeliverabilityDashboardOptions", + "GetDeliverabilityTestReport": "ses:GetDeliverabilityTestReport", + "GetDomainStatisticsReport": "ses:GetDomainStatisticsReport", + "GetEmailIdentity": "ses:GetEmailIdentity", + "ListConfigurationSets": "ses:ListConfigurationSets", + "ListDedicatedIpPools": "ses:ListDedicatedIpPools", + "ListDeliverabilityTestReports": "ses:ListDeliverabilityTestReports", + "ListEmailIdentities": "ses:ListEmailIdentities", + "ListTagsForResource": "ses:ListTagsForResource", + "PutAccountDedicatedIpWarmupAttributes": "ses:PutAccountDedicatedIpWarmupAttributes", + "PutAccountSendingAttributes": "ses:PutAccountSendingAttributes", + "PutConfigurationSetDeliveryOptions": "ses:PutConfigurationSetDeliveryOptions", + "PutConfigurationSetReputationOptions": "ses:PutConfigurationSetReputationOptions", + "PutConfigurationSetSendingOptions": "ses:PutConfigurationSetSendingOptions", + "PutConfigurationSetTrackingOptions": "ses:PutConfigurationSetTrackingOptions", + "PutDedicatedIpInPool": "ses:PutDedicatedIpInPool", + "PutDedicatedIpWarmupAttributes": "ses:PutDedicatedIpWarmupAttributes", + "PutDeliverabilityDashboardOption": "ses:PutDeliverabilityDashboardOption", + "PutEmailIdentityDkimAttributes": "ses:PutEmailIdentityDkimAttributes", + "PutEmailIdentityFeedbackAttributes": "ses:PutEmailIdentityFeedbackAttributes", + "PutEmailIdentityMailFromAttributes": "ses:PutEmailIdentityMailFromAttributes", + "SendEmail": "ses:SendEmail", + "TagResource": "ses:TagResource", + "UntagResource": "ses:UntagResource", + "UpdateConfigurationSetEventDestination": "ses:UpdateConfigurationSetEventDestination" + }, + "pinpoint-sms-voice": { + "CreateConfigurationSet": "sms-voice:CreateConfigurationSet", + "CreateConfigurationSetEventDestination": "sms-voice:CreateConfigurationSetEventDestination", + "DeleteConfigurationSet": "sms-voice:DeleteConfigurationSet", + "DeleteConfigurationSetEventDestination": "sms-voice:DeleteConfigurationSetEventDestination", + "GetConfigurationSetEventDestinations": "sms-voice:GetConfigurationSetEventDestinations", + "SendVoiceMessage": "sms-voice:SendVoiceMessage", + "UpdateConfigurationSetEventDestination": "sms-voice:UpdateConfigurationSetEventDestination" }, "polly": { "DeleteLexicon": "polly:DeleteLexicon", "DescribeVoices": "polly:DescribeVoices", "GetLexicon": "polly:GetLexicon", + "GetSpeechSynthesisTask": "polly:GetSpeechSynthesisTask", "ListLexicons": "polly:ListLexicons", + "ListSpeechSynthesisTasks": "polly:ListSpeechSynthesisTasks", "PutLexicon": "polly:PutLexicon", + "StartSpeechSynthesisTask": "polly:StartSpeechSynthesisTask", "SynthesizeSpeech": "polly:SynthesizeSpeech" }, "pricing": { @@ -2566,17 +3552,57 @@ "GetAttributeValues": "pricing:GetAttributeValues", "GetProducts": "pricing:GetProducts" }, + "quicksight": { + "CreateGroup": "quicksight:CreateGroup", + "CreateGroupMembership": "quicksight:CreateGroupMembership", + "DeleteGroup": "quicksight:DeleteGroup", + "DeleteGroupMembership": "quicksight:DeleteGroupMembership", + "DeleteUser": "quicksight:DeleteUser", + "DeleteUserByPrincipalId": "quicksight:DeleteUserByPrincipalId", + "DescribeGroup": "quicksight:DescribeGroup", + "DescribeUser": "quicksight:DescribeUser", + "GetDashboardEmbedUrl": "quicksight:GetDashboardEmbedUrl", + "ListGroupMemberships": "quicksight:ListGroupMemberships", + "ListGroups": "quicksight:ListGroups", + "ListUserGroups": "quicksight:ListUserGroups", + "ListUsers": "quicksight:ListUsers", + "RegisterUser": "quicksight:RegisterUser", + "UpdateGroup": "quicksight:UpdateGroup", + "UpdateUser": "quicksight:UpdateUser" + }, + "ram": { + "AcceptResourceShareInvitation": "ram:AcceptResourceShareInvitation", + "AssociateResourceShare": "ram:AssociateResourceShare", + "CreateResourceShare": "ram:CreateResourceShare", + "DeleteResourceShare": "ram:DeleteResourceShare", + "DisassociateResourceShare": "ram:DisassociateResourceShare", + "EnableSharingWithAwsOrganization": "ram:EnableSharingWithAwsOrganization", + "GetResourcePolicies": "ram:GetResourcePolicies", + "GetResourceShareAssociations": "ram:GetResourceShareAssociations", + "GetResourceShareInvitations": "ram:GetResourceShareInvitations", + "GetResourceShares": "ram:GetResourceShares", + "ListPrincipals": "ram:ListPrincipals", + "ListResources": "ram:ListResources", + "RejectResourceShareInvitation": "ram:RejectResourceShareInvitation", + "TagResource": "ram:TagResource", + "UntagResource": "ram:UntagResource", + "UpdateResourceShare": "ram:UpdateResourceShare" + }, "rds": { "AddRoleToDBCluster": "rds:AddRoleToDBCluster", + "AddRoleToDBInstance": "rds:AddRoleToDBInstance", "AddSourceIdentifierToSubscription": "rds:AddSourceIdentifierToSubscription", "AddTagsToResource": "rds:AddTagsToResource", "ApplyPendingMaintenanceAction": "rds:ApplyPendingMaintenanceAction", "AuthorizeDBSecurityGroupIngress": "rds:AuthorizeDBSecurityGroupIngress", + "BacktrackDBCluster": "rds:BacktrackDBCluster", + "CopyDBClusterParameterGroup": "rds:CopyDBClusterParameterGroup", "CopyDBClusterSnapshot": "rds:CopyDBClusterSnapshot", "CopyDBParameterGroup": "rds:CopyDBParameterGroup", "CopyDBSnapshot": "rds:CopyDBSnapshot", "CopyOptionGroup": "rds:CopyOptionGroup", "CreateDBCluster": "rds:CreateDBCluster", + "CreateDBClusterEndpoint": "rds:CreateDBClusterEndpoint", "CreateDBClusterParameterGroup": "rds:CreateDBClusterParameterGroup", "CreateDBClusterSnapshot": "rds:CreateDBClusterSnapshot", "CreateDBInstance": "rds:CreateDBInstance", @@ -2586,25 +3612,32 @@ "CreateDBSnapshot": "rds:CreateDBSnapshot", "CreateDBSubnetGroup": "rds:CreateDBSubnetGroup", "CreateEventSubscription": "rds:CreateEventSubscription", + "CreateGlobalCluster": "rds:CreateGlobalCluster", "CreateOptionGroup": "rds:CreateOptionGroup", "DeleteDBCluster": "rds:DeleteDBCluster", + "DeleteDBClusterEndpoint": "rds:DeleteDBClusterEndpoint", "DeleteDBClusterParameterGroup": "rds:DeleteDBClusterParameterGroup", "DeleteDBClusterSnapshot": "rds:DeleteDBClusterSnapshot", "DeleteDBInstance": "rds:DeleteDBInstance", + "DeleteDBInstanceAutomatedBackup": "rds:DeleteDBInstanceAutomatedBackup", "DeleteDBParameterGroup": "rds:DeleteDBParameterGroup", "DeleteDBSecurityGroup": "rds:DeleteDBSecurityGroup", "DeleteDBSnapshot": "rds:DeleteDBSnapshot", "DeleteDBSubnetGroup": "rds:DeleteDBSubnetGroup", "DeleteEventSubscription": "rds:DeleteEventSubscription", + "DeleteGlobalCluster": "rds:DeleteGlobalCluster", "DeleteOptionGroup": "rds:DeleteOptionGroup", "DescribeAccountAttributes": "rds:DescribeAccountAttributes", "DescribeCertificates": "rds:DescribeCertificates", + "DescribeDBClusterBacktracks": "rds:DescribeDBClusterBacktracks", + "DescribeDBClusterEndpoints": "rds:DescribeDBClusterEndpoints", "DescribeDBClusterParameterGroups": "rds:DescribeDBClusterParameterGroups", "DescribeDBClusterParameters": "rds:DescribeDBClusterParameters", "DescribeDBClusterSnapshotAttributes": "rds:DescribeDBClusterSnapshotAttributes", "DescribeDBClusterSnapshots": "rds:DescribeDBClusterSnapshots", "DescribeDBClusters": "rds:DescribeDBClusters", "DescribeDBEngineVersions": "rds:DescribeDBEngineVersions", + "DescribeDBInstanceAutomatedBackups": "rds:DescribeDBInstanceAutomatedBackups", "DescribeDBInstances": "rds:DescribeDBInstances", "DescribeDBLogFiles": "rds:DescribeDBLogFiles", "DescribeDBParameterGroups": "rds:DescribeDBParameterGroups", @@ -2618,42 +3651,68 @@ "DescribeEventCategories": "rds:DescribeEventCategories", "DescribeEventSubscriptions": "rds:DescribeEventSubscriptions", "DescribeEvents": "rds:DescribeEvents", + "DescribeGlobalClusters": "rds:DescribeGlobalClusters", "DescribeOptionGroupOptions": "rds:DescribeOptionGroupOptions", "DescribeOptionGroups": "rds:DescribeOptionGroups", "DescribeOrderableDBInstanceOptions": "rds:DescribeOrderableDBInstanceOptions", "DescribePendingMaintenanceActions": "rds:DescribePendingMaintenanceActions", "DescribeReservedDBInstances": "rds:DescribeReservedDBInstances", "DescribeReservedDBInstancesOfferings": "rds:DescribeReservedDBInstancesOfferings", + "DescribeSourceRegions": "rds:DescribeSourceRegions", + "DescribeValidDBInstanceModifications": "rds:DescribeValidDBInstanceModifications", "DownloadDBLogFilePortion": "rds:DownloadDBLogFilePortion", "FailoverDBCluster": "rds:FailoverDBCluster", "ListTagsForResource": "rds:ListTagsForResource", + "ModifyCurrentDBClusterCapacity": "rds:ModifyCurrentDBClusterCapacity", "ModifyDBCluster": "rds:ModifyDBCluster", + "ModifyDBClusterEndpoint": "rds:ModifyDBClusterEndpoint", "ModifyDBClusterParameterGroup": "rds:ModifyDBClusterParameterGroup", "ModifyDBClusterSnapshotAttribute": "rds:ModifyDBClusterSnapshotAttribute", "ModifyDBInstance": "rds:ModifyDBInstance", "ModifyDBParameterGroup": "rds:ModifyDBParameterGroup", + "ModifyDBSnapshot": "rds:ModifyDBSnapshot", "ModifyDBSnapshotAttribute": "rds:ModifyDBSnapshotAttribute", "ModifyDBSubnetGroup": "rds:ModifyDBSubnetGroup", "ModifyEventSubscription": "rds:ModifyEventSubscription", + "ModifyGlobalCluster": "rds:ModifyGlobalCluster", "ModifyOptionGroup": "rds:ModifyOptionGroup", "PromoteReadReplica": "rds:PromoteReadReplica", + "PromoteReadReplicaDBCluster": "rds:PromoteReadReplicaDBCluster", "PurchaseReservedDBInstancesOffering": "rds:PurchaseReservedDBInstancesOffering", "RebootDBInstance": "rds:RebootDBInstance", + "RemoveFromGlobalCluster": "rds:RemoveFromGlobalCluster", + "RemoveRoleFromDBCluster": "rds:RemoveRoleFromDBCluster", + "RemoveRoleFromDBInstance": "rds:RemoveRoleFromDBInstance", "RemoveSourceIdentifierFromSubscription": "rds:RemoveSourceIdentifierFromSubscription", "RemoveTagsFromResource": "rds:RemoveTagsFromResource", "ResetDBClusterParameterGroup": "rds:ResetDBClusterParameterGroup", "ResetDBParameterGroup": "rds:ResetDBParameterGroup", + "RestoreDBClusterFromS3": "rds:RestoreDBClusterFromS3", "RestoreDBClusterFromSnapshot": "rds:RestoreDBClusterFromSnapshot", "RestoreDBClusterToPointInTime": "rds:RestoreDBClusterToPointInTime", "RestoreDBInstanceFromDBSnapshot": "rds:RestoreDBInstanceFromDBSnapshot", + "RestoreDBInstanceFromS3": "rds:RestoreDBInstanceFromS3", "RestoreDBInstanceToPointInTime": "rds:RestoreDBInstanceToPointInTime", "RevokeDBSecurityGroupIngress": "rds:RevokeDBSecurityGroupIngress", + "StartDBCluster": "rds:StartDBCluster", "StartDBInstance": "rds:StartDBInstance", + "StopDBCluster": "rds:StopDBCluster", "StopDBInstance": "rds:StopDBInstance" }, + "rds-data": { + "BatchExecuteStatement": "rds-data:BatchExecuteStatement", + "BeginTransaction": "rds-data:BeginTransaction", + "CommitTransaction": "rds-data:CommitTransaction", + "ExecuteStatement": "rds-data:ExecuteStatement", + "RollbackTransaction": "rds-data:RollbackTransaction" + }, "redshift": { + "AcceptReservedNodeExchange": "redshift:AcceptReservedNodeExchange", "AuthorizeClusterSecurityGroupIngress": "redshift:AuthorizeClusterSecurityGroupIngress", "AuthorizeSnapshotAccess": "redshift:AuthorizeSnapshotAccess", + "BatchDeleteClusterSnapshots": "redshift:BatchDeleteClusterSnapshots", + "BatchModifyClusterSnapshots": "redshift:BatchModifyClusterSnapshots", + "CancelResize": "redshift:CancelResize", "CopyClusterSnapshot": "redshift:CopyClusterSnapshot", "CreateCluster": "redshift:CreateCluster", "CreateClusterParameterGroup": "redshift:CreateClusterParameterGroup", @@ -2664,6 +3723,7 @@ "CreateHsmClientCertificate": "redshift:CreateHsmClientCertificate", "CreateHsmConfiguration": "redshift:CreateHsmConfiguration", "CreateSnapshotCopyGrant": "redshift:CreateSnapshotCopyGrant", + "CreateSnapshotSchedule": "redshift:CreateSnapshotSchedule", "CreateTags": "redshift:CreateTags", "DeleteCluster": "redshift:DeleteCluster", "DeleteClusterParameterGroup": "redshift:DeleteClusterParameterGroup", @@ -2674,12 +3734,16 @@ "DeleteHsmClientCertificate": "redshift:DeleteHsmClientCertificate", "DeleteHsmConfiguration": "redshift:DeleteHsmConfiguration", "DeleteSnapshotCopyGrant": "redshift:DeleteSnapshotCopyGrant", + "DeleteSnapshotSchedule": "redshift:DeleteSnapshotSchedule", "DeleteTags": "redshift:DeleteTags", + "DescribeAccountAttributes": "redshift:DescribeAccountAttributes", + "DescribeClusterDbRevisions": "redshift:DescribeClusterDbRevisions", "DescribeClusterParameterGroups": "redshift:DescribeClusterParameterGroups", "DescribeClusterParameters": "redshift:DescribeClusterParameters", "DescribeClusterSecurityGroups": "redshift:DescribeClusterSecurityGroups", "DescribeClusterSnapshots": "redshift:DescribeClusterSnapshots", "DescribeClusterSubnetGroups": "redshift:DescribeClusterSubnetGroups", + "DescribeClusterTracks": "redshift:DescribeClusterTracks", "DescribeClusterVersions": "redshift:DescribeClusterVersions", "DescribeClusters": "redshift:DescribeClusters", "DescribeDefaultClusterParameters": "redshift:DescribeDefaultClusterParameters", @@ -2694,6 +3758,8 @@ "DescribeReservedNodes": "redshift:DescribeReservedNodes", "DescribeResize": "redshift:DescribeResize", "DescribeSnapshotCopyGrants": "redshift:DescribeSnapshotCopyGrants", + "DescribeSnapshotSchedules": "redshift:DescribeSnapshotSchedules", + "DescribeStorage": "redshift:DescribeStorage", "DescribeTableRestoreStatus": "redshift:DescribeTableRestoreStatus", "DescribeTags": "redshift:DescribeTags", "DisableLogging": "redshift:DisableLogging", @@ -2701,15 +3767,22 @@ "EnableLogging": "redshift:EnableLogging", "EnableSnapshotCopy": "redshift:EnableSnapshotCopy", "GetClusterCredentials": "redshift:GetClusterCredentials", + "GetReservedNodeExchangeOfferings": "redshift:GetReservedNodeExchangeOfferings", "ModifyCluster": "redshift:ModifyCluster", + "ModifyClusterDbRevision": "redshift:ModifyClusterDbRevision", "ModifyClusterIamRoles": "redshift:ModifyClusterIamRoles", + "ModifyClusterMaintenance": "redshift:ModifyClusterMaintenance", "ModifyClusterParameterGroup": "redshift:ModifyClusterParameterGroup", + "ModifyClusterSnapshot": "redshift:ModifyClusterSnapshot", + "ModifyClusterSnapshotSchedule": "redshift:ModifyClusterSnapshotSchedule", "ModifyClusterSubnetGroup": "redshift:ModifyClusterSubnetGroup", "ModifyEventSubscription": "redshift:ModifyEventSubscription", "ModifySnapshotCopyRetentionPeriod": "redshift:ModifySnapshotCopyRetentionPeriod", + "ModifySnapshotSchedule": "redshift:ModifySnapshotSchedule", "PurchaseReservedNodeOffering": "redshift:PurchaseReservedNodeOffering", "RebootCluster": "redshift:RebootCluster", "ResetClusterParameterGroup": "redshift:ResetClusterParameterGroup", + "ResizeCluster": "redshift:ResizeCluster", "RestoreFromClusterSnapshot": "redshift:RestoreFromClusterSnapshot", "RestoreTableFromClusterSnapshot": "redshift:RestoreTableFromClusterSnapshot", "RevokeClusterSecurityGroupIngress": "redshift:RevokeClusterSecurityGroupIngress", @@ -2723,6 +3796,7 @@ "DeleteCollection": "rekognition:DeleteCollection", "DeleteFaces": "rekognition:DeleteFaces", "DeleteStreamProcessor": "rekognition:DeleteStreamProcessor", + "DescribeCollection": "rekognition:DescribeCollection", "DescribeStreamProcessor": "rekognition:DescribeStreamProcessor", "DetectFaces": "rekognition:DetectFaces", "DetectLabels": "rekognition:DetectLabels", @@ -2772,6 +3846,39 @@ "TagResources": "tag:TagResources", "UntagResources": "tag:UntagResources" }, + "robomaker": { + "BatchDescribeSimulationJob": "robomaker:BatchDescribeSimulationJob", + "CancelSimulationJob": "robomaker:CancelSimulationJob", + "CreateDeploymentJob": "robomaker:CreateDeploymentJob", + "CreateFleet": "robomaker:CreateFleet", + "CreateRobot": "robomaker:CreateRobot", + "CreateRobotApplication": "robomaker:CreateRobotApplication", + "CreateRobotApplicationVersion": "robomaker:CreateRobotApplicationVersion", + "CreateSimulationApplication": "robomaker:CreateSimulationApplication", + "CreateSimulationApplicationVersion": "robomaker:CreateSimulationApplicationVersion", + "CreateSimulationJob": "robomaker:CreateSimulationJob", + "DeleteRobot": "robomaker:DeleteRobot", + "DeleteRobotApplication": "robomaker:DeleteRobotApplication", + "DeleteSimulationApplication": "robomaker:DeleteSimulationApplication", + "DeregisterRobot": "robomaker:DeregisterRobot", + "DescribeDeploymentJob": "robomaker:DescribeDeploymentJob", + "DescribeFleet": "robomaker:DescribeFleet", + "DescribeRobot": "robomaker:DescribeRobot", + "DescribeRobotApplication": "robomaker:DescribeRobotApplication", + "DescribeSimulationApplication": "robomaker:DescribeSimulationApplication", + "DescribeSimulationJob": "robomaker:DescribeSimulationJob", + "ListDeploymentJobs": "robomaker:ListDeploymentJobs", + "ListFleets": "robomaker:ListFleets", + "ListRobotApplications": "robomaker:ListRobotApplications", + "ListRobots": "robomaker:ListRobots", + "ListSimulationApplications": "robomaker:ListSimulationApplications", + "ListSimulationJobs": "robomaker:ListSimulationJobs", + "RegisterRobot": "robomaker:RegisterRobot", + "RestartSimulationJob": "robomaker:RestartSimulationJob", + "SyncDeploymentJob": "robomaker:SyncDeploymentJob", + "UpdateRobotApplication": "robomaker:UpdateRobotApplication", + "UpdateSimulationApplication": "robomaker:UpdateSimulationApplication" + }, "route53": { "AssociateVPCWithHostedZone": "route53:AssociateVPCWithHostedZone", "ChangeResourceRecordSets": "route53:ChangeResourceRecordSets", @@ -2855,6 +3962,30 @@ "UpdateTagsForDomain": "route53domains:UpdateTagsForDomain", "ViewBilling": "route53domains:ViewBilling" }, + "route53resolver": { + "AssociateResolverEndpointIpAddress": "route53resolver:AssociateResolverEndpointIpAddress", + "AssociateResolverRule": "route53resolver:AssociateResolverRule", + "CreateResolverEndpoint": "route53resolver:CreateResolverEndpoint", + "CreateResolverRule": "route53resolver:CreateResolverRule", + "DeleteResolverEndpoint": "route53resolver:DeleteResolverEndpoint", + "DeleteResolverRule": "route53resolver:DeleteResolverRule", + "DisassociateResolverEndpointIpAddress": "route53resolver:DisassociateResolverEndpointIpAddress", + "DisassociateResolverRule": "route53resolver:DisassociateResolverRule", + "GetResolverEndpoint": "route53resolver:GetResolverEndpoint", + "GetResolverRule": "route53resolver:GetResolverRule", + "GetResolverRuleAssociation": "route53resolver:GetResolverRuleAssociation", + "GetResolverRulePolicy": "route53resolver:GetResolverRulePolicy", + "ListResolverEndpointIpAddresses": "route53resolver:ListResolverEndpointIpAddresses", + "ListResolverEndpoints": "route53resolver:ListResolverEndpoints", + "ListResolverRuleAssociations": "route53resolver:ListResolverRuleAssociations", + "ListResolverRules": "route53resolver:ListResolverRules", + "ListTagsForResource": "route53resolver:ListTagsForResource", + "PutResolverRulePolicy": "route53resolver:PutResolverRulePolicy", + "TagResource": "route53resolver:TagResource", + "UntagResource": "route53resolver:UntagResource", + "UpdateResolverEndpoint": "route53resolver:UpdateResolverEndpoint", + "UpdateResolverRule": "route53resolver:UpdateResolverRule" + }, "s3": { "AbortMultipartUpload": "s3:AbortMultipartUpload", "CompleteMultipartUpload": "s3:PutObject", @@ -2870,16 +4001,18 @@ "GetBucketLogging": "s3:GetBucketLogging", "GetBucketNotification": "s3:GetBucketNotification", "GetBucketPolicy": "s3:GetBucketPolicy", + "GetBucketPolicyStatus": "s3:GetBucketPolicyStatus", "GetBucketRequestPayment": "s3:GetBucketRequestPayment", "GetBucketTagging": "s3:GetBucketTagging", "GetBucketVersioning": "s3:GetBucketVersioning", "GetBucketWebsite": "s3:GetBucketWebsite", "GetObject": "s3:GetObject", "GetObjectAcl": "s3:GetObjectAcl", + "GetObjectLegalHold": "s3:GetObjectLegalHold", + "GetObjectRetention": "s3:GetObjectRetention", "GetObjectTagging": "s3:GetObjectTagging", "GetObjectTorrent": "s3:GetObjectTorrent", "HeadBucket": "s3:HeadBucket", - "HeadObject": "s3:GetObject", "ListBuckets": "s3:ListAllMyBuckets", "ListObjects": "s3:ListBucket", "ListObjectsV2": "s3:ListBucket", @@ -2893,49 +4026,88 @@ "PutBucketWebsite": "s3:PutBucketWebsite", "PutObject": "s3:PutObject", "PutObjectAcl": "s3:PutObjectAcl", + "PutObjectLegalHold": "s3:PutObjectLegalHold", + "PutObjectRetention": "s3:PutObjectRetention", "PutObjectTagging": "s3:PutObjectTagging", "RestoreObject": "s3:RestoreObject", "UploadPart": "s3:PutObject" }, "sagemaker": { "AddTags": "sagemaker:AddTags", + "CreateAlgorithm": "sagemaker:CreateAlgorithm", + "CreateCodeRepository": "sagemaker:CreateCodeRepository", + "CreateCompilationJob": "sagemaker:CreateCompilationJob", "CreateEndpoint": "sagemaker:CreateEndpoint", "CreateEndpointConfig": "sagemaker:CreateEndpointConfig", "CreateHyperParameterTuningJob": "sagemaker:CreateHyperParameterTuningJob", + "CreateLabelingJob": "sagemaker:CreateLabelingJob", "CreateModel": "sagemaker:CreateModel", + "CreateModelPackage": "sagemaker:CreateModelPackage", "CreateNotebookInstance": "sagemaker:CreateNotebookInstance", "CreateNotebookInstanceLifecycleConfig": "sagemaker:CreateNotebookInstanceLifecycleConfig", "CreatePresignedNotebookInstanceUrl": "sagemaker:CreatePresignedNotebookInstanceUrl", "CreateTrainingJob": "sagemaker:CreateTrainingJob", + "CreateTransformJob": "sagemaker:CreateTransformJob", + "CreateWorkteam": "sagemaker:CreateWorkteam", + "DeleteAlgorithm": "sagemaker:DeleteAlgorithm", + "DeleteCodeRepository": "sagemaker:DeleteCodeRepository", "DeleteEndpoint": "sagemaker:DeleteEndpoint", "DeleteEndpointConfig": "sagemaker:DeleteEndpointConfig", "DeleteModel": "sagemaker:DeleteModel", + "DeleteModelPackage": "sagemaker:DeleteModelPackage", "DeleteNotebookInstance": "sagemaker:DeleteNotebookInstance", "DeleteNotebookInstanceLifecycleConfig": "sagemaker:DeleteNotebookInstanceLifecycleConfig", "DeleteTags": "sagemaker:DeleteTags", + "DeleteWorkteam": "sagemaker:DeleteWorkteam", + "DescribeAlgorithm": "sagemaker:DescribeAlgorithm", + "DescribeCodeRepository": "sagemaker:DescribeCodeRepository", + "DescribeCompilationJob": "sagemaker:DescribeCompilationJob", "DescribeEndpoint": "sagemaker:DescribeEndpoint", "DescribeEndpointConfig": "sagemaker:DescribeEndpointConfig", "DescribeHyperParameterTuningJob": "sagemaker:DescribeHyperParameterTuningJob", + "DescribeLabelingJob": "sagemaker:DescribeLabelingJob", "DescribeModel": "sagemaker:DescribeModel", + "DescribeModelPackage": "sagemaker:DescribeModelPackage", "DescribeNotebookInstance": "sagemaker:DescribeNotebookInstance", "DescribeNotebookInstanceLifecycleConfig": "sagemaker:DescribeNotebookInstanceLifecycleConfig", + "DescribeSubscribedWorkteam": "sagemaker:DescribeSubscribedWorkteam", "DescribeTrainingJob": "sagemaker:DescribeTrainingJob", + "DescribeTransformJob": "sagemaker:DescribeTransformJob", + "DescribeWorkteam": "sagemaker:DescribeWorkteam", + "GetSearchSuggestions": "sagemaker:GetSearchSuggestions", + "ListAlgorithms": "sagemaker:ListAlgorithms", + "ListCodeRepositories": "sagemaker:ListCodeRepositories", + "ListCompilationJobs": "sagemaker:ListCompilationJobs", "ListEndpointConfigs": "sagemaker:ListEndpointConfigs", "ListEndpoints": "sagemaker:ListEndpoints", "ListHyperParameterTuningJobs": "sagemaker:ListHyperParameterTuningJobs", + "ListLabelingJobs": "sagemaker:ListLabelingJobs", + "ListLabelingJobsForWorkteam": "sagemaker:ListLabelingJobsForWorkteam", + "ListModelPackages": "sagemaker:ListModelPackages", "ListModels": "sagemaker:ListModels", "ListNotebookInstanceLifecycleConfigs": "sagemaker:ListNotebookInstanceLifecycleConfigs", "ListNotebookInstances": "sagemaker:ListNotebookInstances", + "ListSubscribedWorkteams": "sagemaker:ListSubscribedWorkteams", "ListTags": "sagemaker:ListTags", "ListTrainingJobs": "sagemaker:ListTrainingJobs", "ListTrainingJobsForHyperParameterTuningJob": "sagemaker:ListTrainingJobsForHyperParameterTuningJob", + "ListTransformJobs": "sagemaker:ListTransformJobs", + "ListWorkteams": "sagemaker:ListWorkteams", + "RenderUiTemplate": "sagemaker:RenderUiTemplate", + "Search": "sagemaker:Search", "StartNotebookInstance": "sagemaker:StartNotebookInstance", + "StopCompilationJob": "sagemaker:StopCompilationJob", "StopHyperParameterTuningJob": "sagemaker:StopHyperParameterTuningJob", + "StopLabelingJob": "sagemaker:StopLabelingJob", "StopNotebookInstance": "sagemaker:StopNotebookInstance", "StopTrainingJob": "sagemaker:StopTrainingJob", + "StopTransformJob": "sagemaker:StopTransformJob", + "UpdateCodeRepository": "sagemaker:UpdateCodeRepository", "UpdateEndpoint": "sagemaker:UpdateEndpoint", "UpdateEndpointWeightsAndCapacities": "sagemaker:UpdateEndpointWeightsAndCapacities", - "UpdateNotebookInstance": "sagemaker:UpdateNotebookInstance" + "UpdateNotebookInstance": "sagemaker:UpdateNotebookInstance", + "UpdateNotebookInstanceLifecycleConfig": "sagemaker:UpdateNotebookInstanceLifecycleConfig", + "UpdateWorkteam": "sagemaker:UpdateWorkteam" }, "sagemaker-runtime": { "InvokeEndpoint": "sagemaker:InvokeEndpoint" @@ -2955,12 +4127,15 @@ "secretsmanager": { "CancelRotateSecret": "secretsmanager:CancelRotateSecret", "CreateSecret": "secretsmanager:CreateSecret", + "DeleteResourcePolicy": "secretsmanager:DeleteResourcePolicy", "DeleteSecret": "secretsmanager:DeleteSecret", "DescribeSecret": "secretsmanager:DescribeSecret", "GetRandomPassword": "secretsmanager:GetRandomPassword", + "GetResourcePolicy": "secretsmanager:GetResourcePolicy", "GetSecretValue": "secretsmanager:GetSecretValue", "ListSecretVersionIds": "secretsmanager:ListSecretVersionIds", "ListSecrets": "secretsmanager:ListSecrets", + "PutResourcePolicy": "secretsmanager:PutResourcePolicy", "PutSecretValue": "secretsmanager:PutSecretValue", "RestoreSecret": "secretsmanager:RestoreSecret", "RotateSecret": "secretsmanager:RotateSecret", @@ -2969,50 +4144,115 @@ "UpdateSecret": "secretsmanager:UpdateSecret", "UpdateSecretVersionStage": "secretsmanager:UpdateSecretVersionStage" }, + "securityhub": { + "AcceptInvitation": "securityhub:AcceptInvitation", + "BatchDisableStandards": "securityhub:BatchDisableStandards", + "BatchEnableStandards": "securityhub:BatchEnableStandards", + "BatchImportFindings": "securityhub:BatchImportFindings", + "CreateInsight": "securityhub:CreateInsight", + "CreateMembers": "securityhub:CreateMembers", + "DeclineInvitations": "securityhub:DeclineInvitations", + "DeleteInsight": "securityhub:DeleteInsight", + "DeleteInvitations": "securityhub:DeleteInvitations", + "DeleteMembers": "securityhub:DeleteMembers", + "DisableImportFindingsForProduct": "securityhub:DisableImportFindingsForProduct", + "DisableSecurityHub": "securityhub:DisableSecurityHub", + "DisassociateFromMasterAccount": "securityhub:DisassociateFromMasterAccount", + "DisassociateMembers": "securityhub:DisassociateMembers", + "EnableImportFindingsForProduct": "securityhub:EnableImportFindingsForProduct", + "EnableSecurityHub": "securityhub:EnableSecurityHub", + "GetEnabledStandards": "securityhub:GetEnabledStandards", + "GetFindings": "securityhub:GetFindings", + "GetInsightResults": "securityhub:GetInsightResults", + "GetInsights": "securityhub:GetInsights", + "GetInvitationsCount": "securityhub:GetInvitationsCount", + "GetMasterAccount": "securityhub:GetMasterAccount", + "GetMembers": "securityhub:GetMembers", + "InviteMembers": "securityhub:InviteMembers", + "ListEnabledProductsForImport": "securityhub:ListEnabledProductsForImport", + "ListInvitations": "securityhub:ListInvitations", + "ListMembers": "securityhub:ListMembers", + "UpdateFindings": "securityhub:UpdateFindings", + "UpdateInsight": "securityhub:UpdateInsight" + }, "servicecatalog": { "AcceptPortfolioShare": "servicecatalog:AcceptPortfolioShare", "AssociatePrincipalWithPortfolio": "servicecatalog:AssociatePrincipalWithPortfolio", "AssociateProductWithPortfolio": "servicecatalog:AssociateProductWithPortfolio", + "AssociateServiceActionWithProvisioningArtifact": "servicecatalog:AssociateServiceActionWithProvisioningArtifact", + "AssociateTagOptionWithResource": "servicecatalog:AssociateTagOptionWithResource", + "BatchAssociateServiceActionWithProvisioningArtifact": "servicecatalog:BatchAssociateServiceActionWithProvisioningArtifact", + "BatchDisassociateServiceActionFromProvisioningArtifact": "servicecatalog:BatchDisassociateServiceActionFromProvisioningArtifact", + "CopyProduct": "servicecatalog:CopyProduct", "CreateConstraint": "servicecatalog:CreateConstraint", "CreatePortfolio": "servicecatalog:CreatePortfolio", "CreatePortfolioShare": "servicecatalog:CreatePortfolioShare", "CreateProduct": "servicecatalog:CreateProduct", + "CreateProvisionedProductPlan": "servicecatalog:CreateProvisionedProductPlan", "CreateProvisioningArtifact": "servicecatalog:CreateProvisioningArtifact", + "CreateServiceAction": "servicecatalog:CreateServiceAction", + "CreateTagOption": "servicecatalog:CreateTagOption", "DeleteConstraint": "servicecatalog:DeleteConstraint", "DeletePortfolio": "servicecatalog:DeletePortfolio", "DeletePortfolioShare": "servicecatalog:DeletePortfolioShare", "DeleteProduct": "servicecatalog:DeleteProduct", + "DeleteProvisionedProductPlan": "servicecatalog:DeleteProvisionedProductPlan", "DeleteProvisioningArtifact": "servicecatalog:DeleteProvisioningArtifact", + "DeleteServiceAction": "servicecatalog:DeleteServiceAction", + "DeleteTagOption": "servicecatalog:DeleteTagOption", "DescribeConstraint": "servicecatalog:DescribeConstraint", + "DescribeCopyProductStatus": "servicecatalog:DescribeCopyProductStatus", "DescribePortfolio": "servicecatalog:DescribePortfolio", + "DescribePortfolioShareStatus": "servicecatalog:DescribePortfolioShareStatus", "DescribeProduct": "servicecatalog:DescribeProduct", "DescribeProductAsAdmin": "servicecatalog:DescribeProductAsAdmin", "DescribeProductView": "servicecatalog:DescribeProductView", + "DescribeProvisionedProduct": "servicecatalog:DescribeProvisionedProduct", + "DescribeProvisionedProductPlan": "servicecatalog:DescribeProvisionedProductPlan", "DescribeProvisioningArtifact": "servicecatalog:DescribeProvisioningArtifact", "DescribeProvisioningParameters": "servicecatalog:DescribeProvisioningParameters", "DescribeRecord": "servicecatalog:DescribeRecord", + "DescribeServiceAction": "servicecatalog:DescribeServiceAction", + "DescribeTagOption": "servicecatalog:DescribeTagOption", + "DisableAWSOrganizationsAccess": "servicecatalog:DisableAWSOrganizationsAccess", "DisassociatePrincipalFromPortfolio": "servicecatalog:DisassociatePrincipalFromPortfolio", "DisassociateProductFromPortfolio": "servicecatalog:DisassociateProductFromPortfolio", + "DisassociateServiceActionFromProvisioningArtifact": "servicecatalog:DisassociateServiceActionFromProvisioningArtifact", + "DisassociateTagOptionFromResource": "servicecatalog:DisassociateTagOptionFromResource", + "EnableAWSOrganizationsAccess": "servicecatalog:EnableAWSOrganizationsAccess", + "ExecuteProvisionedProductPlan": "servicecatalog:ExecuteProvisionedProductPlan", + "ExecuteProvisionedProductServiceAction": "servicecatalog:ExecuteProvisionedProductServiceAction", + "GetAWSOrganizationsAccessStatus": "servicecatalog:GetAWSOrganizationsAccessStatus", "ListAcceptedPortfolioShares": "servicecatalog:ListAcceptedPortfolioShares", "ListConstraintsForPortfolio": "servicecatalog:ListConstraintsForPortfolio", "ListLaunchPaths": "servicecatalog:ListLaunchPaths", + "ListOrganizationPortfolioAccess": "servicecatalog:ListOrganizationPortfolioAccess", "ListPortfolioAccess": "servicecatalog:ListPortfolioAccess", "ListPortfolios": "servicecatalog:ListPortfolios", "ListPortfoliosForProduct": "servicecatalog:ListPortfoliosForProduct", "ListPrincipalsForPortfolio": "servicecatalog:ListPrincipalsForPortfolio", + "ListProvisionedProductPlans": "servicecatalog:ListProvisionedProductPlans", "ListProvisioningArtifacts": "servicecatalog:ListProvisioningArtifacts", + "ListProvisioningArtifactsForServiceAction": "servicecatalog:ListProvisioningArtifactsForServiceAction", "ListRecordHistory": "servicecatalog:ListRecordHistory", + "ListResourcesForTagOption": "servicecatalog:ListResourcesForTagOption", + "ListServiceActions": "servicecatalog:ListServiceActions", + "ListServiceActionsForProvisioningArtifact": "servicecatalog:ListServiceActionsForProvisioningArtifact", + "ListTagOptions": "servicecatalog:ListTagOptions", "ProvisionProduct": "servicecatalog:ProvisionProduct", "RejectPortfolioShare": "servicecatalog:RejectPortfolioShare", "ScanProvisionedProducts": "servicecatalog:ScanProvisionedProducts", "SearchProducts": "servicecatalog:SearchProducts", "SearchProductsAsAdmin": "servicecatalog:SearchProductsAsAdmin", + "SearchProvisionedProducts": "servicecatalog:SearchProvisionedProducts", "TerminateProvisionedProduct": "servicecatalog:TerminateProvisionedProduct", "UpdateConstraint": "servicecatalog:UpdateConstraint", "UpdatePortfolio": "servicecatalog:UpdatePortfolio", "UpdateProduct": "servicecatalog:UpdateProduct", "UpdateProvisionedProduct": "servicecatalog:UpdateProvisionedProduct", - "UpdateProvisioningArtifact": "servicecatalog:UpdateProvisioningArtifact" + "UpdateProvisioningArtifact": "servicecatalog:UpdateProvisioningArtifact", + "UpdateServiceAction": "servicecatalog:UpdateServiceAction", + "UpdateTagOption": "servicecatalog:UpdateTagOption" }, "ses": { "CloneReceiptRuleSet": "ses:CloneReceiptRuleSet", @@ -3087,15 +4327,44 @@ "VerifyEmailIdentity": "ses:VerifyEmailIdentity" }, "shield": { + "AssociateDRTLogBucket": "shield:AssociateDRTLogBucket", + "AssociateDRTRole": "shield:AssociateDRTRole", "CreateProtection": "shield:CreateProtection", "CreateSubscription": "shield:CreateSubscription", "DeleteProtection": "shield:DeleteProtection", "DeleteSubscription": "shield:DeleteSubscription", "DescribeAttack": "shield:DescribeAttack", + "DescribeDRTAccess": "shield:DescribeDRTAccess", + "DescribeEmergencyContactSettings": "shield:DescribeEmergencyContactSettings", "DescribeProtection": "shield:DescribeProtection", "DescribeSubscription": "shield:DescribeSubscription", + "DisassociateDRTLogBucket": "shield:DisassociateDRTLogBucket", + "DisassociateDRTRole": "shield:DisassociateDRTRole", + "GetSubscriptionState": "shield:GetSubscriptionState", "ListAttacks": "shield:ListAttacks", - "ListProtections": "shield:ListProtections" + "ListProtections": "shield:ListProtections", + "UpdateEmergencyContactSettings": "shield:UpdateEmergencyContactSettings" + }, + "signer": { + "CancelSigningProfile": "signer:CancelSigningProfile", + "DescribeSigningJob": "signer:DescribeSigningJob", + "GetSigningPlatform": "signer:GetSigningPlatform", + "GetSigningProfile": "signer:GetSigningProfile", + "ListSigningJobs": "signer:ListSigningJobs", + "ListSigningPlatforms": "signer:ListSigningPlatforms", + "ListSigningProfiles": "signer:ListSigningProfiles", + "PutSigningProfile": "signer:PutSigningProfile", + "StartSigningJob": "signer:StartSigningJob" + }, + "sms-voice": { + "CreateConfigurationSet": "sms-voice:CreateConfigurationSet", + "CreateConfigurationSetEventDestination": "sms-voice:CreateConfigurationSetEventDestination", + "DeleteConfigurationSet": "sms-voice:DeleteConfigurationSet", + "DeleteConfigurationSetEventDestination": "sms-voice:DeleteConfigurationSetEventDestination", + "GetConfigurationSetEventDestinations": "sms-voice:GetConfigurationSetEventDestinations", + "ListConfigurationSets": "sms-voice:ListConfigurationSets", + "SendVoiceMessage": "sms-voice:SendVoiceMessage", + "UpdateConfigurationSetEventDestination": "sms-voice:UpdateConfigurationSetEventDestination" }, "snowball": { "CancelCluster": "snowball:CancelCluster", @@ -3173,6 +4442,7 @@ "ssm": { "AddTagsToResource": "ssm:AddTagsToResource", "CancelCommand": "ssm:CancelCommand", + "CancelMaintenanceWindowExecution": "ssm:CancelMaintenanceWindowExecution", "CreateActivation": "ssm:CreateActivation", "CreateAssociation": "ssm:CreateAssociation", "CreateAssociationBatch": "ssm:CreateAssociationBatch", @@ -3183,6 +4453,7 @@ "DeleteActivation": "ssm:DeleteActivation", "DeleteAssociation": "ssm:DeleteAssociation", "DeleteDocument": "ssm:DeleteDocument", + "DeleteInventory": "ssm:DeleteInventory", "DeleteMaintenanceWindow": "ssm:DeleteMaintenanceWindow", "DeleteParameter": "ssm:DeleteParameter", "DeleteParameters": "ssm:DeleteParameters", @@ -3194,6 +4465,8 @@ "DeregisterTaskFromMaintenanceWindow": "ssm:DeregisterTaskFromMaintenanceWindow", "DescribeActivations": "ssm:DescribeActivations", "DescribeAssociation": "ssm:DescribeAssociation", + "DescribeAssociationExecutionTargets": "ssm:DescribeAssociationExecutionTargets", + "DescribeAssociationExecutions": "ssm:DescribeAssociationExecutions", "DescribeAutomationExecutions": "ssm:DescribeAutomationExecutions", "DescribeAutomationStepExecutions": "ssm:DescribeAutomationStepExecutions", "DescribeAvailablePatches": "ssm:DescribeAvailablePatches", @@ -3206,18 +4479,23 @@ "DescribeInstancePatchStates": "ssm:DescribeInstancePatchStates", "DescribeInstancePatchStatesForPatchGroup": "ssm:DescribeInstancePatchStatesForPatchGroup", "DescribeInstancePatches": "ssm:DescribeInstancePatches", + "DescribeInventoryDeletions": "ssm:DescribeInventoryDeletions", "DescribeMaintenanceWindowExecutionTaskInvocations": "ssm:DescribeMaintenanceWindowExecutionTaskInvocations", "DescribeMaintenanceWindowExecutionTasks": "ssm:DescribeMaintenanceWindowExecutionTasks", "DescribeMaintenanceWindowExecutions": "ssm:DescribeMaintenanceWindowExecutions", + "DescribeMaintenanceWindowSchedule": "ssm:DescribeMaintenanceWindowSchedule", "DescribeMaintenanceWindowTargets": "ssm:DescribeMaintenanceWindowTargets", "DescribeMaintenanceWindowTasks": "ssm:DescribeMaintenanceWindowTasks", "DescribeMaintenanceWindows": "ssm:DescribeMaintenanceWindows", + "DescribeMaintenanceWindowsForTarget": "ssm:DescribeMaintenanceWindowsForTarget", "DescribeParameters": "ssm:DescribeParameters", "DescribePatchBaselines": "ssm:DescribePatchBaselines", "DescribePatchGroupState": "ssm:DescribePatchGroupState", "DescribePatchGroups": "ssm:DescribePatchGroups", + "DescribeSessions": "ssm:DescribeSessions", "GetAutomationExecution": "ssm:GetAutomationExecution", "GetCommandInvocation": "ssm:GetCommandInvocation", + "GetConnectionStatus": "ssm:GetConnectionStatus", "GetDefaultPatchBaseline": "ssm:GetDefaultPatchBaseline", "GetDeployablePatchSnapshotForInstance": "ssm:GetDeployablePatchSnapshotForInstance", "GetDocument": "ssm:GetDocument", @@ -3234,13 +4512,17 @@ "GetParametersByPath": "ssm:GetParametersByPath", "GetPatchBaseline": "ssm:GetPatchBaseline", "GetPatchBaselineForPatchGroup": "ssm:GetPatchBaselineForPatchGroup", + "LabelParameterVersion": "ssm:LabelParameterVersion", "ListAssociationVersions": "ssm:ListAssociationVersions", "ListAssociations": "ssm:ListAssociations", "ListCommandInvocations": "ssm:ListCommandInvocations", "ListCommands": "ssm:ListCommands", + "ListComplianceItems": "ssm:ListComplianceItems", + "ListComplianceSummaries": "ssm:ListComplianceSummaries", "ListDocumentVersions": "ssm:ListDocumentVersions", "ListDocuments": "ssm:ListDocuments", "ListInventoryEntries": "ssm:ListInventoryEntries", + "ListResourceComplianceSummaries": "ssm:ListResourceComplianceSummaries", "ListResourceDataSync": "ssm:ListResourceDataSync", "ListTagsForResource": "ssm:ListTagsForResource", "ModifyDocumentPermission": "ssm:ModifyDocumentPermission", @@ -3252,11 +4534,14 @@ "RegisterTargetWithMaintenanceWindow": "ssm:RegisterTargetWithMaintenanceWindow", "RegisterTaskWithMaintenanceWindow": "ssm:RegisterTaskWithMaintenanceWindow", "RemoveTagsFromResource": "ssm:RemoveTagsFromResource", + "ResumeSession": "ssm:ResumeSession", "SendAutomationSignal": "ssm:SendAutomationSignal", "SendCommand": "ssm:SendCommand", "StartAssociationsOnce": "ssm:StartAssociationsOnce", "StartAutomationExecution": "ssm:StartAutomationExecution", + "StartSession": "ssm:StartSession", "StopAutomationExecution": "ssm:StopAutomationExecution", + "TerminateSession": "ssm:TerminateSession", "UpdateAssociation": "ssm:UpdateAssociation", "UpdateAssociationStatus": "ssm:UpdateAssociationStatus", "UpdateDocument": "ssm:UpdateDocument", @@ -3281,11 +4566,14 @@ "ListActivities": "states:ListActivities", "ListExecutions": "states:ListExecutions", "ListStateMachines": "states:ListStateMachines", + "ListTagsForResource": "states:ListTagsForResource", "SendTaskFailure": "states:SendTaskFailure", "SendTaskHeartbeat": "states:SendTaskHeartbeat", "SendTaskSuccess": "states:SendTaskSuccess", "StartExecution": "states:StartExecution", "StopExecution": "states:StopExecution", + "TagResource": "states:TagResource", + "UntagResource": "states:UntagResource", "UpdateStateMachine": "states:UpdateStateMachine" }, "storagegateway": { @@ -3294,10 +4582,12 @@ "AddTagsToResource": "storagegateway:AddTagsToResource", "AddUploadBuffer": "storagegateway:AddUploadBuffer", "AddWorkingStorage": "storagegateway:AddWorkingStorage", + "AttachVolume": "storagegateway:AttachVolume", "CancelArchival": "storagegateway:CancelArchival", "CancelRetrieval": "storagegateway:CancelRetrieval", "CreateCachediSCSIVolume": "storagegateway:CreateCachediSCSIVolume", "CreateNFSFileShare": "storagegateway:CreateNFSFileShare", + "CreateSMBFileShare": "storagegateway:CreateSMBFileShare", "CreateSnapshot": "storagegateway:CreateSnapshot", "CreateSnapshotFromVolumeRecoveryPoint": "storagegateway:CreateSnapshotFromVolumeRecoveryPoint", "CreateStorediSCSIVolume": "storagegateway:CreateStorediSCSIVolume", @@ -3318,6 +4608,8 @@ "DescribeGatewayInformation": "storagegateway:DescribeGatewayInformation", "DescribeMaintenanceStartTime": "storagegateway:DescribeMaintenanceStartTime", "DescribeNFSFileShares": "storagegateway:DescribeNFSFileShares", + "DescribeSMBFileShares": "storagegateway:DescribeSMBFileShares", + "DescribeSMBSettings": "storagegateway:DescribeSMBSettings", "DescribeSnapshotSchedule": "storagegateway:DescribeSnapshotSchedule", "DescribeStorediSCSIVolumes": "storagegateway:DescribeStorediSCSIVolumes", "DescribeTapeArchives": "storagegateway:DescribeTapeArchives", @@ -3326,7 +4618,9 @@ "DescribeUploadBuffer": "storagegateway:DescribeUploadBuffer", "DescribeVTLDevices": "storagegateway:DescribeVTLDevices", "DescribeWorkingStorage": "storagegateway:DescribeWorkingStorage", + "DetachVolume": "storagegateway:DetachVolume", "DisableGateway": "storagegateway:DisableGateway", + "JoinDomain": "storagegateway:JoinDomain", "ListFileShares": "storagegateway:ListFileShares", "ListGateways": "storagegateway:ListGateways", "ListLocalDisks": "storagegateway:ListLocalDisks", @@ -3335,12 +4629,14 @@ "ListVolumeInitiators": "storagegateway:ListVolumeInitiators", "ListVolumeRecoveryPoints": "storagegateway:ListVolumeRecoveryPoints", "ListVolumes": "storagegateway:ListVolumes", + "NotifyWhenUploaded": "storagegateway:NotifyWhenUploaded", "RefreshCache": "storagegateway:RefreshCache", "RemoveTagsFromResource": "storagegateway:RemoveTagsFromResource", "ResetCache": "storagegateway:ResetCache", "RetrieveTapeArchive": "storagegateway:RetrieveTapeArchive", "RetrieveTapeRecoveryPoint": "storagegateway:RetrieveTapeRecoveryPoint", "SetLocalConsolePassword": "storagegateway:SetLocalConsolePassword", + "SetSMBGuestPassword": "storagegateway:SetSMBGuestPassword", "ShutdownGateway": "storagegateway:ShutdownGateway", "StartGateway": "storagegateway:StartGateway", "UpdateBandwidthRateLimit": "storagegateway:UpdateBandwidthRateLimit", @@ -3349,6 +4645,7 @@ "UpdateGatewaySoftwareNow": "storagegateway:UpdateGatewaySoftwareNow", "UpdateMaintenanceStartTime": "storagegateway:UpdateMaintenanceStartTime", "UpdateNFSFileShare": "storagegateway:UpdateNFSFileShare", + "UpdateSMBFileShare": "storagegateway:UpdateSMBFileShare", "UpdateSnapshotSchedule": "storagegateway:UpdateSnapshotSchedule", "UpdateVTLDeviceType": "storagegateway:UpdateVTLDeviceType" }, @@ -3358,8 +4655,7 @@ "AssumeRoleWithWebIdentity": "sts:AssumeRoleWithWebIdentity", "DecodeAuthorizationMessage": "sts:DecodeAuthorizationMessage", "GetCallerIdentity": "sts:GetCallerIdentity", - "GetFederationToken": "sts:GetFederationToken", - "GetSessionToken": "sts:GetSessionToken" + "GetFederationToken": "sts:GetFederationToken" }, "swf": { "CountClosedWorkflowExecutions": "swf:CountClosedWorkflowExecutions", @@ -3394,12 +4690,50 @@ "StartWorkflowExecution": "swf:StartWorkflowExecution", "TerminateWorkflowExecution": "swf:TerminateWorkflowExecution" }, + "textract": { + "AnalyzeDocument": "textract:AnalyzeDocument", + "DetectDocumentText": "textract:DetectDocumentText", + "GetDocumentAnalysis": "textract:GetDocumentAnalysis", + "GetDocumentTextDetection": "textract:GetDocumentTextDetection", + "StartDocumentAnalysis": "textract:StartDocumentAnalysis", + "StartDocumentTextDetection": "textract:StartDocumentTextDetection" + }, "transcribe": { + "CreateVocabulary": "transcribe:CreateVocabulary", + "DeleteTranscriptionJob": "transcribe:DeleteTranscriptionJob", + "DeleteVocabulary": "transcribe:DeleteVocabulary", "GetTranscriptionJob": "transcribe:GetTranscriptionJob", + "GetVocabulary": "transcribe:GetVocabulary", "ListTranscriptionJobs": "transcribe:ListTranscriptionJobs", - "StartTranscriptionJob": "transcribe:StartTranscriptionJob" + "ListVocabularies": "transcribe:ListVocabularies", + "StartTranscriptionJob": "transcribe:StartTranscriptionJob", + "UpdateVocabulary": "transcribe:UpdateVocabulary" + }, + "transfer": { + "CreateServer": "transfer:CreateServer", + "CreateUser": "transfer:CreateUser", + "DeleteServer": "transfer:DeleteServer", + "DeleteSshPublicKey": "transfer:DeleteSshPublicKey", + "DeleteUser": "transfer:DeleteUser", + "DescribeServer": "transfer:DescribeServer", + "DescribeUser": "transfer:DescribeUser", + "ImportSshPublicKey": "transfer:ImportSshPublicKey", + "ListServers": "transfer:ListServers", + "ListTagsForResource": "transfer:ListTagsForResource", + "ListUsers": "transfer:ListUsers", + "StartServer": "transfer:StartServer", + "StopServer": "transfer:StopServer", + "TagResource": "transfer:TagResource", + "TestIdentityProvider": "transfer:TestIdentityProvider", + "UntagResource": "transfer:UntagResource", + "UpdateServer": "transfer:UpdateServer", + "UpdateUser": "transfer:UpdateUser" }, "translate": { + "DeleteTerminology": "translate:DeleteTerminology", + "GetTerminology": "translate:GetTerminology", + "ImportTerminology": "translate:ImportTerminology", + "ListTerminologies": "translate:ListTerminologies", "TranslateText": "translate:TranslateText" }, "waf": { @@ -3418,6 +4752,7 @@ "DeleteByteMatchSet": "waf:DeleteByteMatchSet", "DeleteGeoMatchSet": "waf:DeleteGeoMatchSet", "DeleteIPSet": "waf:DeleteIPSet", + "DeleteLoggingConfiguration": "waf:DeleteLoggingConfiguration", "DeletePermissionPolicy": "waf:DeletePermissionPolicy", "DeleteRateBasedRule": "waf:DeleteRateBasedRule", "DeleteRegexMatchSet": "waf:DeleteRegexMatchSet", @@ -3433,6 +4768,7 @@ "GetChangeTokenStatus": "waf:GetChangeTokenStatus", "GetGeoMatchSet": "waf:GetGeoMatchSet", "GetIPSet": "waf:GetIPSet", + "GetLoggingConfiguration": "waf:GetLoggingConfiguration", "GetPermissionPolicy": "waf:GetPermissionPolicy", "GetRateBasedRule": "waf:GetRateBasedRule", "GetRateBasedRuleManagedKeys": "waf:GetRateBasedRuleManagedKeys", @@ -3449,6 +4785,7 @@ "ListByteMatchSets": "waf:ListByteMatchSets", "ListGeoMatchSets": "waf:ListGeoMatchSets", "ListIPSets": "waf:ListIPSets", + "ListLoggingConfigurations": "waf:ListLoggingConfigurations", "ListRateBasedRules": "waf:ListRateBasedRules", "ListRegexMatchSets": "waf:ListRegexMatchSets", "ListRegexPatternSets": "waf:ListRegexPatternSets", @@ -3459,6 +4796,7 @@ "ListSubscribedRuleGroups": "waf:ListSubscribedRuleGroups", "ListWebACLs": "waf:ListWebACLs", "ListXssMatchSets": "waf:ListXssMatchSets", + "PutLoggingConfiguration": "waf:PutLoggingConfiguration", "PutPermissionPolicy": "waf:PutPermissionPolicy", "UpdateByteMatchSet": "waf:UpdateByteMatchSet", "UpdateGeoMatchSet": "waf:UpdateGeoMatchSet", @@ -3490,6 +4828,7 @@ "DeleteByteMatchSet": "waf-regional:DeleteByteMatchSet", "DeleteGeoMatchSet": "waf-regional:DeleteGeoMatchSet", "DeleteIPSet": "waf-regional:DeleteIPSet", + "DeleteLoggingConfiguration": "waf-regional:DeleteLoggingConfiguration", "DeletePermissionPolicy": "waf-regional:DeletePermissionPolicy", "DeleteRateBasedRule": "waf-regional:DeleteRateBasedRule", "DeleteRegexMatchSet": "waf-regional:DeleteRegexMatchSet", @@ -3506,6 +4845,7 @@ "GetChangeTokenStatus": "waf-regional:GetChangeTokenStatus", "GetGeoMatchSet": "waf-regional:GetGeoMatchSet", "GetIPSet": "waf-regional:GetIPSet", + "GetLoggingConfiguration": "waf-regional:GetLoggingConfiguration", "GetPermissionPolicy": "waf-regional:GetPermissionPolicy", "GetRateBasedRule": "waf-regional:GetRateBasedRule", "GetRateBasedRuleManagedKeys": "waf-regional:GetRateBasedRuleManagedKeys", @@ -3523,6 +4863,7 @@ "ListByteMatchSets": "waf-regional:ListByteMatchSets", "ListGeoMatchSets": "waf-regional:ListGeoMatchSets", "ListIPSets": "waf-regional:ListIPSets", + "ListLoggingConfigurations": "waf-regional:ListLoggingConfigurations", "ListRateBasedRules": "waf-regional:ListRateBasedRules", "ListRegexMatchSets": "waf-regional:ListRegexMatchSets", "ListRegexPatternSets": "waf-regional:ListRegexPatternSets", @@ -3534,6 +4875,7 @@ "ListSubscribedRuleGroups": "waf-regional:ListSubscribedRuleGroups", "ListWebACLs": "waf-regional:ListWebACLs", "ListXssMatchSets": "waf-regional:ListXssMatchSets", + "PutLoggingConfiguration": "waf-regional:PutLoggingConfiguration", "PutPermissionPolicy": "waf-regional:PutPermissionPolicy", "UpdateByteMatchSet": "waf-regional:UpdateByteMatchSet", "UpdateGeoMatchSet": "waf-regional:UpdateGeoMatchSet", @@ -3552,25 +4894,37 @@ "AbortDocumentVersionUpload": "workdocs:AbortDocumentVersionUpload", "ActivateUser": "workdocs:ActivateUser", "AddResourcePermissions": "workdocs:AddResourcePermissions", + "CreateComment": "workdocs:CreateComment", + "CreateCustomMetadata": "workdocs:CreateCustomMetadata", "CreateFolder": "workdocs:CreateFolder", + "CreateLabels": "workdocs:CreateLabels", "CreateNotificationSubscription": "workdocs:CreateNotificationSubscription", "CreateUser": "workdocs:CreateUser", "DeactivateUser": "workdocs:DeactivateUser", + "DeleteComment": "workdocs:DeleteComment", + "DeleteCustomMetadata": "workdocs:DeleteCustomMetadata", "DeleteDocument": "workdocs:DeleteDocument", "DeleteFolder": "workdocs:DeleteFolder", "DeleteFolderContents": "workdocs:DeleteFolderContents", + "DeleteLabels": "workdocs:DeleteLabels", "DeleteNotificationSubscription": "workdocs:DeleteNotificationSubscription", "DeleteUser": "workdocs:DeleteUser", + "DescribeActivities": "workdocs:DescribeActivities", + "DescribeComments": "workdocs:DescribeComments", "DescribeDocumentVersions": "workdocs:DescribeDocumentVersions", "DescribeFolderContents": "workdocs:DescribeFolderContents", + "DescribeGroups": "workdocs:DescribeGroups", "DescribeNotificationSubscriptions": "workdocs:DescribeNotificationSubscriptions", "DescribeResourcePermissions": "workdocs:DescribeResourcePermissions", + "DescribeRootFolders": "workdocs:DescribeRootFolders", "DescribeUsers": "workdocs:DescribeUsers", + "GetCurrentUser": "workdocs:GetCurrentUser", "GetDocument": "workdocs:GetDocument", "GetDocumentPath": "workdocs:GetDocumentPath", "GetDocumentVersion": "workdocs:GetDocumentVersion", "GetFolder": "workdocs:GetFolder", "GetFolderPath": "workdocs:GetFolderPath", + "GetResources": "workdocs:GetResources", "InitiateDocumentVersionUpload": "workdocs:InitiateDocumentVersionUpload", "RemoveAllResourcePermissions": "workdocs:RemoveAllResourcePermissions", "RemoveResourcePermission": "workdocs:RemoveResourcePermission", @@ -3579,32 +4933,84 @@ "UpdateFolder": "workdocs:UpdateFolder", "UpdateUser": "workdocs:UpdateUser" }, + "worklink": { + "AssociateWebsiteCertificateAuthority": "worklink:AssociateWebsiteCertificateAuthority", + "CreateFleet": "worklink:CreateFleet", + "DeleteFleet": "worklink:DeleteFleet", + "DescribeCompanyNetworkConfiguration": "worklink:DescribeCompanyNetworkConfiguration", + "DescribeDevice": "worklink:DescribeDevice", + "DescribeDevicePolicyConfiguration": "worklink:DescribeDevicePolicyConfiguration", + "DescribeFleetMetadata": "worklink:DescribeFleetMetadata", + "DescribeIdentityProviderConfiguration": "worklink:DescribeIdentityProviderConfiguration", + "DescribeWebsiteCertificateAuthority": "worklink:DescribeWebsiteCertificateAuthority", + "DisassociateWebsiteCertificateAuthority": "worklink:DisassociateWebsiteCertificateAuthority", + "ListDevices": "worklink:ListDevices", + "ListFleets": "worklink:ListFleets", + "ListWebsiteCertificateAuthorities": "worklink:ListWebsiteCertificateAuthorities", + "SignOutUser": "worklink:SignOutUser", + "UpdateCompanyNetworkConfiguration": "worklink:UpdateCompanyNetworkConfiguration", + "UpdateDevicePolicyConfiguration": "worklink:UpdateDevicePolicyConfiguration", + "UpdateFleetMetadata": "worklink:UpdateFleetMetadata", + "UpdateIdentityProviderConfiguration": "worklink:UpdateIdentityProviderConfiguration" + }, "workmail": { "CreateGroup": "workmail:CreateGroup", "CreateResource": "workmail:CreateResource" }, "workspaces": { + "AssociateIpGroups": "workspaces:AssociateIpGroups", + "AuthorizeIpRules": "workspaces:AuthorizeIpRules", + "CreateIpGroup": "workspaces:CreateIpGroup", "CreateTags": "workspaces:CreateTags", "CreateWorkspaces": "workspaces:CreateWorkspaces", + "DeleteIpGroup": "workspaces:DeleteIpGroup", "DeleteTags": "workspaces:DeleteTags", + "DeleteWorkspaceImage": "workspaces:DeleteWorkspaceImage", + "DescribeAccount": "workspaces:DescribeAccount", + "DescribeAccountModifications": "workspaces:DescribeAccountModifications", + "DescribeClientProperties": "workspaces:DescribeClientProperties", + "DescribeIpGroups": "workspaces:DescribeIpGroups", "DescribeTags": "workspaces:DescribeTags", "DescribeWorkspaceBundles": "workspaces:DescribeWorkspaceBundles", "DescribeWorkspaceDirectories": "workspaces:DescribeWorkspaceDirectories", + "DescribeWorkspaceImages": "workspaces:DescribeWorkspaceImages", "DescribeWorkspaces": "workspaces:DescribeWorkspaces", "DescribeWorkspacesConnectionStatus": "workspaces:DescribeWorkspacesConnectionStatus", + "DisassociateIpGroups": "workspaces:DisassociateIpGroups", + "ImportWorkspaceImage": "workspaces:ImportWorkspaceImage", + "ListAvailableManagementCidrRanges": "workspaces:ListAvailableManagementCidrRanges", + "ModifyAccount": "workspaces:ModifyAccount", + "ModifyClientProperties": "workspaces:ModifyClientProperties", "ModifyWorkspaceProperties": "workspaces:ModifyWorkspaceProperties", + "ModifyWorkspaceState": "workspaces:ModifyWorkspaceState", "RebootWorkspaces": "workspaces:RebootWorkspaces", "RebuildWorkspaces": "workspaces:RebuildWorkspaces", + "RevokeIpRules": "workspaces:RevokeIpRules", "StartWorkspaces": "workspaces:StartWorkspaces", "StopWorkspaces": "workspaces:StopWorkspaces", - "TerminateWorkspaces": "workspaces:TerminateWorkspaces" + "TerminateWorkspaces": "workspaces:TerminateWorkspaces", + "UpdateRulesOfIpGroup": "workspaces:UpdateRulesOfIpGroup" }, "xray": { "BatchGetTraces": "xray:BatchGetTraces", + "CreateGroup": "xray:CreateGroup", + "CreateSamplingRule": "xray:CreateSamplingRule", + "DeleteGroup": "xray:DeleteGroup", + "DeleteSamplingRule": "xray:DeleteSamplingRule", + "GetEncryptionConfig": "xray:GetEncryptionConfig", + "GetGroup": "xray:GetGroup", + "GetGroups": "xray:GetGroups", + "GetSamplingRules": "xray:GetSamplingRules", + "GetSamplingStatisticSummaries": "xray:GetSamplingStatisticSummaries", + "GetSamplingTargets": "xray:GetSamplingTargets", "GetServiceGraph": "xray:GetServiceGraph", + "GetTimeSeriesServiceStatistics": "xray:GetTimeSeriesServiceStatistics", "GetTraceGraph": "xray:GetTraceGraph", "GetTraceSummaries": "xray:GetTraceSummaries", + "PutEncryptionConfig": "xray:PutEncryptionConfig", "PutTelemetryRecords": "xray:PutTelemetryRecords", - "PutTraceSegments": "xray:PutTraceSegments" + "PutTraceSegments": "xray:PutTraceSegments", + "UpdateGroup": "xray:UpdateGroup", + "UpdateSamplingRule": "xray:UpdateSamplingRule" } } From a20210e508802586755ed26e20cd1fdfcbe998ab Mon Sep 17 00:00:00 2001 From: stealthycoin Date: Mon, 3 Jun 2019 17:22:36 -0700 Subject: [PATCH 03/14] Clarify documentation about current_request.lambda_context --- docs/source/api.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/source/api.rst b/docs/source/api.rst index 1d244fc5d..37db01d77 100644 --- a/docs/source/api.rst +++ b/docs/source/api.rst @@ -28,6 +28,12 @@ Chalice Lambda. You can find out more about this object by reading the `lambda context object documentation `_. + .. note:: + + This is only set on ``@app.route`` handlers. For other handlers it + will be ``None``. Instead the event parameter will have a ``context`` + property. For example :attr:`S3Event.context`. + .. attribute:: debug A boolean value that enables debugging. By default, this value is From aec1ed2572bc21a303ae7bfe9f38ae6e3cfc5c53 Mon Sep 17 00:00:00 2001 From: stealthycoin Date: Tue, 4 Jun 2019 15:30:08 -0700 Subject: [PATCH 04/14] Fix invoke command stack trace reporting In python 3.7 Lambda Functions the format of the response under stackTrace has changed. Lambda returns the serialized output of extract_tb. In earlier Pythons before 3.7, this was a 4-tuple which is serialized as a list of 4 element lists. Python 3.7 introduced the StackSummary and FrameSummary objects. These are serialized as a list of Strings already formatted like a stack trace. The error handling code in invoke has been updated to handle either case correctly. --- chalice/invoke.py | 25 +++++++++++++++++-------- tests/unit/test_invoke.py | 33 ++++++++++++++++++++++++++++++--- 2 files changed, 47 insertions(+), 11 deletions(-) diff --git a/chalice/invoke.py b/chalice/invoke.py index eabbf847e..b16b92f0b 100644 --- a/chalice/invoke.py +++ b/chalice/invoke.py @@ -83,8 +83,8 @@ def _format_error(self, formatted, payload): error_type = loaded_error.get('errorType') stack_trace = loaded_error.get('stackTrace') - for line in stack_trace: - formatted.write(line) + if stack_trace is not None: + self._format_stacktrace(formatted, stack_trace) if error_type is not None: formatted.write('{}: {}\n'.format(error_type, error_message)) @@ -98,12 +98,21 @@ def _format_stacktrace(self, formatted, stack_trace): self._format_frame(formatted, frame) def _format_frame(self, formatted, frame): - # type: (StringIO, List[Union[str, int]]) -> None - path, lineno, function, code = frame - formatted.write( - ' File "{}", line {}, in {}\n'.format(path, lineno, function)) - formatted.write( - ' {}\n'.format(code)) + # type: (StringIO, Union[str, List[Union[str, int]]]) -> None + if isinstance(frame, list): + # If the output is a list, it came from a 4-tuple as a result of + # an extract_tb call. This is the behavior up to and including + # python 3.6. + path, lineno, function, code = frame + formatted.write( + ' File "{}", line {}, in {}\n'.format(path, lineno, function)) + formatted.write( + ' {}\n'.format(code)) + else: + # If it is not a list, its a string. This is because the 4-tuple + # was replaced with a FrameSummary object which is serialized as + # a string by Lambda. In this case we can just print it directly. + formatted.write(frame) def _format_success(self, formatted, payload): # type: (StringIO, bytes) -> None diff --git a/tests/unit/test_invoke.py b/tests/unit/test_invoke.py index a1df184db..5ff637772 100644 --- a/tests/unit/test_invoke.py +++ b/tests/unit/test_invoke.py @@ -160,13 +160,13 @@ def test_formatter_can_format_success(self): }) assert 'foobarbaz\n' == formatted - def test_formatter_can_format_stack_trace(self): + def test_formatter_can_format_list_stack_trace(self): error = { "errorMessage": "Something bad happened", "errorType": "Error", "stackTrace": [ ["/path/file.py", 123, "main", "foo(bar)"], - ["/path/other_file.py", 456, "function", "bar = baz"] + ["/path/more.py", 456, "func", "bar = baz"] ] } serialized_error = json.dumps(error).encode('utf-8') @@ -182,7 +182,34 @@ def test_formatter_can_format_stack_trace(self): 'Traceback (most recent call last):\n' ' File "/path/file.py", line 123, in main\n' ' foo(bar)\n' - ' File "/path/other_file.py", line 456, in function\n' + ' File "/path/more.py", line 456, in func\n' + ' bar = baz\n' + 'Error: Something bad happened\n' + ) == formatted + + def test_formatter_can_format_string_stack_trace(self): + error = { + "errorMessage": "Something bad happened", + "errorType": "Error", + "stackTrace": [ + ' File "/path/file.py", line 123, in main\n foo(bar)\n', + ' File "/path/more.py", line 456, in func\n bar = baz\n', + ] + } + serialized_error = json.dumps(error).encode('utf-8') + formatter = LambdaResponseFormatter() + formatted = formatter.format_response({ + 'StatusCode': 200, + 'FunctionError': 'Unhandled', + 'ExecutedVersion': '$LATEST', + 'Payload': FakeStreamingBody(serialized_error) + }) + + assert ( + 'Traceback (most recent call last):\n' + ' File "/path/file.py", line 123, in main\n' + ' foo(bar)\n' + ' File "/path/more.py", line 456, in func\n' ' bar = baz\n' 'Error: Something bad happened\n' ) == formatted From ba20ecbbc78350d32198997c5630979b75ed0772 Mon Sep 17 00:00:00 2001 From: Nik Kantar Date: Fri, 15 Mar 2019 14:50:09 -0700 Subject: [PATCH 05/14] Update attrs dependency --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index a0c99c838..9f8a03b58 100644 --- a/setup.py +++ b/setup.py @@ -12,7 +12,7 @@ 'typing==3.6.4;python_version<"3.7"', 'six>=1.10.0,<2.0.0', 'pip>=9,<=19.2', - 'attrs==17.4.0', + 'attrs>=17.4.0', 'enum-compat>=0.0.2', 'jmespath>=0.9.3,<1.0.0', 'wheel', From 4352c6e5229c4d26ac22ebfb249e143854307715 Mon Sep 17 00:00:00 2001 From: stealthycoin Date: Tue, 4 Jun 2019 16:28:04 -0700 Subject: [PATCH 06/14] Add upper bound on attrs --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 9f8a03b58..db8fabafe 100644 --- a/setup.py +++ b/setup.py @@ -12,7 +12,7 @@ 'typing==3.6.4;python_version<"3.7"', 'six>=1.10.0,<2.0.0', 'pip>=9,<=19.2', - 'attrs>=17.4.0', + 'attrs>=17.4.0,<20.0.0', 'enum-compat>=0.0.2', 'jmespath>=0.9.3,<1.0.0', 'wheel', From 3a0e15f17a4632bfff3376490ad80a817f967ebf Mon Sep 17 00:00:00 2001 From: Or Harambam Date: Mon, 27 May 2019 19:01:17 +0300 Subject: [PATCH 07/14] Added support for multi-value query string parameters --- chalice/app.py | 59 ++++++++++++++++++++++++++++++++++------ chalice/local.py | 7 ++--- tests/unit/conftest.py | 4 +-- tests/unit/test_app.py | 6 +++- tests/unit/test_local.py | 8 +++--- 5 files changed, 64 insertions(+), 20 deletions(-) diff --git a/chalice/app.py b/chalice/app.py index 92f8d777a..69b3b1c1d 100644 --- a/chalice/app.py +++ b/chalice/app.py @@ -52,6 +52,12 @@ def handle_extra_types(obj): # to support that as well. if isinstance(obj, decimal.Decimal): return float(obj) + # MultiDict is an object used to represent query parameters, + # which used to be a dict. + # This is added for backwards compatibility. + # It will keep only the last value for every key as it used to. + if isinstance(obj, MultiDict): + return dict(obj) raise TypeError('Object of type %s is not JSON serializable' % obj.__class__.__name__) @@ -146,6 +152,36 @@ class TooManyRequestsError(ChaliceViewError): TooManyRequestsError] +class MultiDict(Mapping): + """A read only mapping of key to list of values. + + Accessing it in the usual way will return the last value in the list. + Calling getlist will return a list of values with the same key. + """ + + def __init__(self, mapping): + self._dict = mapping or {} + + def __getitem__(self, k): + lst = self._dict[k] + try: + return lst[-1] + except IndexError: + raise KeyError(k) + + def getlist(self, k): + return list(self._dict[k]) + + def __len__(self) -> int: + return len(self._dict) + + def __iter__(self): + return iter(self._dict) + + def __repr__(self): + return 'MultiDict(%s)' % repr(self._dict) + + class CaseInsensitiveMapping(Mapping): """Case insensitive and read-only mapping.""" @@ -302,7 +338,8 @@ class Request(object): def __init__(self, query_params, headers, uri_params, method, body, context, stage_vars, is_base64_encoded): - self.query_params = query_params + self.query_params = None if query_params is None \ + else MultiDict(query_params) self.headers = CaseInsensitiveMapping(headers) self.uri_params = uri_params self.method = method @@ -350,6 +387,8 @@ def to_dict(self): # We want the output of `to_dict()` to be # JSON serializable, so we need to remove the CaseInsensitive dict. copied['headers'] = dict(copied['headers']) + if copied['query_params'] is not None: + copied['query_params'] = dict(copied['query_params']) return copied @@ -787,14 +826,16 @@ def __call__(self, event, context): function_args = {name: event['pathParameters'][name] for name in route_entry.view_args} self.lambda_context = context - self.current_request = Request(event['queryStringParameters'], - event['headers'], - event['pathParameters'], - event['requestContext']['httpMethod'], - event['body'], - event['requestContext'], - event['stageVariables'], - event.get('isBase64Encoded', False)) + self.current_request = Request( + event['multiValueQueryStringParameters'], + event['headers'], + event['pathParameters'], + event['requestContext']['httpMethod'], + event['body'], + event['requestContext'], + event['stageVariables'], + event.get('isBase64Encoded', False) + ) # We're getting the CORS headers before validation to be able to # output desired headers with cors_headers = None diff --git a/chalice/local.py b/chalice/local.py index 6d9e84cbc..d54d387b3 100644 --- a/chalice/local.py +++ b/chalice/local.py @@ -124,8 +124,7 @@ def match_route(self, url): """ # Otherwise we need to check for param substitution parsed_url = urlparse(url) - parsed_qs = parse_qs(parsed_url.query, keep_blank_values=True) - query_params = {k: v[-1] for k, v in parsed_qs.items()} + query_params = parse_qs(parsed_url.query, keep_blank_values=True) path = parsed_url.path # API Gateway removes the trailing slash if the route is not the root # path. We do the same here so our route matching works the same way. @@ -180,11 +179,11 @@ def create_lambda_event(self, method, path, headers, body=None): 'stageVariables': {}, } if view_route.query_params: - event['queryStringParameters'] = view_route.query_params + event['multiValueQueryStringParameters'] = view_route.query_params else: # If no query parameters are provided, API gateway maps # this to None so we're doing this for parity. - event['queryStringParameters'] = None + event['multiValueQueryStringParameters'] = None if self._is_binary(headers) and body is not None: event['body'] = base64.b64encode(body).decode('ascii') event['isBase64Encoded'] = True diff --git a/tests/unit/conftest.py b/tests/unit/conftest.py index df14e3cb2..4cac454bc 100644 --- a/tests/unit/conftest.py +++ b/tests/unit/conftest.py @@ -89,7 +89,7 @@ def create_event_inner(uri, method, path, content_type='application/json'): 'Content-Type': content_type, }, 'pathParameters': path, - 'queryStringParameters': {}, + 'multiValueQueryStringParameters': {}, 'body': "", 'stageVariables': {}, } @@ -107,7 +107,7 @@ def create_empty_header_event_inner(uri, method, path, }, 'headers': None, 'pathParameters': path, - 'queryStringParameters': {}, + 'multiValueQueryStringParameters': {}, 'body': "", 'stageVariables': {}, } diff --git a/tests/unit/test_app.py b/tests/unit/test_app.py index 450e0b0c5..3b0dd3ae9 100644 --- a/tests/unit/test_app.py +++ b/tests/unit/test_app.py @@ -22,11 +22,15 @@ # These are used to generate sample data for hypothesis tests. STR_MAP = st.dictionaries(st.text(), st.text()) +STR_TO_LIST_MAP = st.dictionaries( + st.text(), + st.lists(elements=st.text(), min_size=1, max_size=5) +) HTTP_METHOD = st.sampled_from(['GET', 'POST', 'PUT', 'PATCH', 'OPTIONS', 'HEAD', 'DELETE']) HTTP_BODY = st.none() | st.text() HTTP_REQUEST = st.fixed_dictionaries({ - 'query_params': STR_MAP, + 'query_params': STR_TO_LIST_MAP, 'headers': STR_MAP, 'uri_params': STR_MAP, 'method': HTTP_METHOD, diff --git a/tests/unit/test_local.py b/tests/unit/test_local.py index 4818f3cae..029e74a72 100644 --- a/tests/unit/test_local.py +++ b/tests/unit/test_local.py @@ -549,7 +549,7 @@ def test_can_create_lambda_event(): }, 'headers': {'content-type': 'application/json'}, 'pathParameters': {'capture': 'other'}, - 'queryStringParameters': None, + 'multiValueQueryStringParameters': None, 'body': None, 'stageVariables': {}, } @@ -574,7 +574,7 @@ def test_parse_query_string(): }, 'headers': {'content-type': 'application/json'}, 'pathParameters': {'capture': 'other'}, - 'queryStringParameters': {'a': '1', 'b': '', 'c': '3'}, + 'multiValueQueryStringParameters': {'a': ['1'], 'b': [''], 'c': ['3']}, 'body': None, 'stageVariables': {}, } @@ -600,7 +600,7 @@ def test_can_create_lambda_event_for_put_request(): }, 'headers': {'content-type': 'application/json'}, 'pathParameters': {'capture': 'other'}, - 'queryStringParameters': None, + 'multiValueQueryStringParameters': None, 'body': '{"foo": "bar"}', 'stageVariables': {}, } @@ -627,7 +627,7 @@ def test_can_create_lambda_event_for_post_with_formencoded_body(): }, 'headers': {'content-type': 'application/x-www-form-urlencoded'}, 'pathParameters': {'capture': 'other'}, - 'queryStringParameters': None, + 'multiValueQueryStringParameters': None, 'body': form_body, 'stageVariables': {}, } From cf0608ddee25dac847f9d19394e97e9ce2061855 Mon Sep 17 00:00:00 2001 From: Or Harambam Date: Mon, 27 May 2019 20:26:16 +0300 Subject: [PATCH 08/14] Added some tests --- tests/unit/test_local.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/tests/unit/test_local.py b/tests/unit/test_local.py index 029e74a72..e21cb3932 100644 --- a/tests/unit/test_local.py +++ b/tests/unit/test_local.py @@ -127,6 +127,12 @@ def decimals(): def query_string(): return demo.current_request.query_params + @demo.route('/query-string-multi') + def query_string_multi(): + params = demo.current_request.query_params + keys = {k: params.getlist(k) for k in params} + return keys + @demo.route('/custom-response') def custom_response(): return Response(body='text', @@ -462,6 +468,22 @@ def test_querystring_is_mapped(handler): assert _get_body_from_response_stream(handler) == {'a': 'b', 'c': 'd'} +def test_empty_querystring_is_none(handler): + set_current_request(handler, method='GET', path='/query-string') + handler.do_GET() + assert _get_body_from_response_stream(handler) is None + + +def test_querystring_list_is_mapped(handler): + set_current_request( + handler, + method='GET', path='/query-string-multi?a=b&c=d&a=c&e=' + ) + handler.do_GET() + expected = {'a': ['b', 'c'], 'c': ['d'], 'e': ['']} + assert _get_body_from_response_stream(handler) == expected + + def test_querystring_undefined_is_mapped_consistent_with_apigateway(handler): # API Gateway picks up the last element of duplicate keys in a # querystring From 0c447a8246daff0c4a43cc7239e3439ece4f8a25 Mon Sep 17 00:00:00 2001 From: Or Harambam Date: Mon, 27 May 2019 20:39:04 +0300 Subject: [PATCH 09/14] Removed type hint --- chalice/app.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chalice/app.py b/chalice/app.py index 69b3b1c1d..bfb8ceaeb 100644 --- a/chalice/app.py +++ b/chalice/app.py @@ -172,7 +172,7 @@ def __getitem__(self, k): def getlist(self, k): return list(self._dict[k]) - def __len__(self) -> int: + def __len__(self): return len(self._dict) def __iter__(self): From 1de855da5227d0913c84a5d4b9f4fce5e72a0551 Mon Sep 17 00:00:00 2001 From: Or Harambam Date: Mon, 27 May 2019 21:59:25 +0300 Subject: [PATCH 10/14] Added MultiDict tests. Changed MultiDict beavior to be more flask-like --- chalice/app.py | 2 +- tests/unit/test_app.py | 70 +++++++++++++++++++++++++++++++++++++++++- 2 files changed, 70 insertions(+), 2 deletions(-) diff --git a/chalice/app.py b/chalice/app.py index bfb8ceaeb..d51c4bf15 100644 --- a/chalice/app.py +++ b/chalice/app.py @@ -170,7 +170,7 @@ def __getitem__(self, k): raise KeyError(k) def getlist(self, k): - return list(self._dict[k]) + return list(self._dict.get(k, [])) def __len__(self): return len(self._dict) diff --git a/tests/unit/test_app.py b/tests/unit/test_app.py index 3b0dd3ae9..e1a428dbc 100644 --- a/tests/unit/test_app.py +++ b/tests/unit/test_app.py @@ -4,6 +4,7 @@ import json import gzip import inspect +from copy import deepcopy import pytest from pytest import fixture @@ -14,7 +15,13 @@ from chalice import app from chalice import NotFoundError -from chalice.app import APIGateway, Request, Response, handle_extra_types +from chalice.app import ( + APIGateway, + Request, + Response, + handle_extra_types, + MultiDict +) from chalice import __version__ as chalice_version from chalice.deploy.validate import ExperimentalFeatureError from chalice.deploy.validate import validate_feature_flags @@ -1864,3 +1871,64 @@ def index(): myapp.register_blueprint(bp) assert_requires_opt_in(myapp, flag='BLUEPRINTS') + + +@pytest.mark.parametrize('input_dict', [ + {}, + {'key': []} +]) +def test_multidict_raises_keyerror(input_dict): + d = MultiDict(input_dict) + with pytest.raises(KeyError): + val = d['key'] + assert val is val + + +@pytest.mark.parametrize('input_dict', [ + {}, + {'key': []} +]) +def test_multidict_returns_emptylist(input_dict): + d = MultiDict(input_dict) + assert d.getlist('key') == [] + + +@pytest.mark.parametrize('input_dict', [ + {'key': ['value']}, + {'key': ['']}, + {'key': ['value1', 'value2', 'value3']}, + {'key': ['value1', 'value2', None]} +]) +def test_multidict_returns_lastvalue(input_dict): + d = MultiDict(input_dict) + assert d['key'] == input_dict['key'][-1] + + +@pytest.mark.parametrize('input_dict', [ + {'key': ['value']}, + {'key': ['']}, + {'key': ['value1', 'value2', 'value3']}, + {'key': ['value1', 'value2', None]} +]) +def test_multidict_returns_all_values(input_dict): + d = MultiDict(input_dict) + assert d.getlist('key') == input_dict['key'] + + +@pytest.mark.parametrize('input_dict', [ + {'key': ['value']}, + {'key': ['']}, + {'key': ['value1', 'value2', 'value3']}, + {'key': ['value1', 'value2', None]} +]) +def test_multidict_list_wont_change_source(input_dict): + d = MultiDict(input_dict) + dict_copy = deepcopy(input_dict) + d.getlist('key')[0] = 'othervalue' + assert d.getlist('key') == dict_copy['key'] + + +def test_multidict_is_readonly(): + d = MultiDict(None) + with pytest.raises(TypeError): + d['key'] = 'value' From a9c869047c94513891ecf6111cd52fdcb4c6a47a Mon Sep 17 00:00:00 2001 From: Or Harambam Date: Wed, 5 Jun 2019 12:51:48 +0300 Subject: [PATCH 11/14] CR Fixes --- CHANGELOG.rst | 2 ++ chalice/app.py | 15 +++++++-------- tests/unit/conftest.py | 4 ++-- tests/unit/test_app.py | 27 ++++++++++++++++++++++++++- 4 files changed, 37 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 0c5c4a9fd..142e253c4 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -15,6 +15,8 @@ Next Release (TBD) (`#1100 `__) * Update ``policies.json`` file (`#1110 `__) +* Support repeating values in the query string + (`#1131 `__) 1.8.0 diff --git a/chalice/app.py b/chalice/app.py index d51c4bf15..431c2f98f 100644 --- a/chalice/app.py +++ b/chalice/app.py @@ -52,8 +52,6 @@ def handle_extra_types(obj): # to support that as well. if isinstance(obj, decimal.Decimal): return float(obj) - # MultiDict is an object used to represent query parameters, - # which used to be a dict. # This is added for backwards compatibility. # It will keep only the last value for every key as it used to. if isinstance(obj, MultiDict): @@ -160,12 +158,16 @@ class MultiDict(Mapping): """ def __init__(self, mapping): - self._dict = mapping or {} + if mapping is None: + mapping = {} + + self._dict = mapping def __getitem__(self, k): - lst = self._dict[k] + values_list = self._dict[k] + try: - return lst[-1] + return values_list[-1] except IndexError: raise KeyError(k) @@ -178,9 +180,6 @@ def __len__(self): def __iter__(self): return iter(self._dict) - def __repr__(self): - return 'MultiDict(%s)' % repr(self._dict) - class CaseInsensitiveMapping(Mapping): """Case insensitive and read-only mapping.""" diff --git a/tests/unit/conftest.py b/tests/unit/conftest.py index 4cac454bc..ff5542fc9 100644 --- a/tests/unit/conftest.py +++ b/tests/unit/conftest.py @@ -89,7 +89,7 @@ def create_event_inner(uri, method, path, content_type='application/json'): 'Content-Type': content_type, }, 'pathParameters': path, - 'multiValueQueryStringParameters': {}, + 'multiValueQueryStringParameters': None, 'body': "", 'stageVariables': {}, } @@ -107,7 +107,7 @@ def create_empty_header_event_inner(uri, method, path, }, 'headers': None, 'pathParameters': path, - 'multiValueQueryStringParameters': {}, + 'multiValueQueryStringParameters': None, 'body': "", 'stageVariables': {}, } diff --git a/tests/unit/test_app.py b/tests/unit/test_app.py index e1a428dbc..7a65d8eb5 100644 --- a/tests/unit/test_app.py +++ b/tests/unit/test_app.py @@ -20,7 +20,7 @@ Request, Response, handle_extra_types, - MultiDict + MultiDict, ) from chalice import __version__ as chalice_version from chalice.deploy.validate import ExperimentalFeatureError @@ -279,6 +279,31 @@ def todict(): assert isinstance(json.loads(json.dumps(response)), dict) +def test_can_call_to_dict_on_request_with_querystring(sample_app, + create_event): + @sample_app.route('/todict') + def todict(): + return sample_app.current_request.to_dict() + + event = create_event('/todict', 'GET', {}) + event['multiValueQueryStringParameters'] = { + 'key': ['val1', 'val2'], + 'key2': ['val'] + } + response = json_response_body(sample_app(event, context=None)) + assert isinstance(response, dict) + # The dict can change over time so we'll just pick + # out a few keys as a basic sanity test. + assert response['method'] == 'GET' + assert response['query_params'] is not None + assert response['query_params']['key'] == 'val2' + assert response['query_params']['key2'] == 'val' + # We also want to verify that to_dict() is always + # JSON serializable so we check we can roundtrip + # the data to/from JSON. + assert isinstance(json.loads(json.dumps(response)), dict) + + def test_request_to_dict_does_not_contain_internal_attrs(sample_app, create_event): @sample_app.route('/todict') From 416d3e8610cb2a7877371ceb7d9e30bb9a7f0bcf Mon Sep 17 00:00:00 2001 From: Nathan Keyes Date: Sun, 26 May 2019 13:29:10 -0500 Subject: [PATCH 12/14] add layers to SAM template for package command --- chalice/package.py | 6 ++++++ tests/unit/test_package.py | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/chalice/package.py b/chalice/package.py index 0012794e3..a3915d901 100644 --- a/chalice/package.py +++ b/chalice/package.py @@ -136,6 +136,12 @@ def _generate_lambdafunction(self, resource, template): } lambdafunction_definition['Properties'].update( reserved_concurrency_config) + if resource.layers: + layers_config = { + 'Layers': resource.layers + } # type: Dict[str, List[str]] + lambdafunction_definition['Properties'].update(layers_config) + resources[cfn_name] = lambdafunction_definition self._add_iam_role(resource, resources[cfn_name]) diff --git a/tests/unit/test_package.py b/tests/unit/test_package.py index 6f18776bd..47b0a8e2d 100644 --- a/tests/unit/test_package.py +++ b/tests/unit/test_package.py @@ -184,6 +184,13 @@ def test_adds_reserved_concurrency_when_provided(self, sample_app): cfn_resource = list(template['Resources'].values())[0] assert cfn_resource['Properties']['ReservedConcurrentExecutions'] == 5 + def test_adds_layers_when_provided(self, sample_app): + function = self.lambda_function() + function.layers = ['arn:aws:layer1', 'arn:aws:layer2'] + template = self.template_gen.generate_sam_template([function]) + cfn_resource = list(template['Resources'].values())[0] + assert cfn_resource['Properties']['Layers'] == ['arn:aws:layer1', 'arn:aws:layer2'] + def test_duplicate_resource_name_raises_error(self): one = self.lambda_function() two = self.lambda_function() From 525b966e82038df541fb2a2cdcd93805a01dd2f1 Mon Sep 17 00:00:00 2001 From: Nathan Keyes Date: Sun, 26 May 2019 13:47:26 -0500 Subject: [PATCH 13/14] fix line length --- tests/unit/test_package.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/unit/test_package.py b/tests/unit/test_package.py index 47b0a8e2d..cdc8b7964 100644 --- a/tests/unit/test_package.py +++ b/tests/unit/test_package.py @@ -189,7 +189,10 @@ def test_adds_layers_when_provided(self, sample_app): function.layers = ['arn:aws:layer1', 'arn:aws:layer2'] template = self.template_gen.generate_sam_template([function]) cfn_resource = list(template['Resources'].values())[0] - assert cfn_resource['Properties']['Layers'] == ['arn:aws:layer1', 'arn:aws:layer2'] + assert cfn_resource['Properties']['Layers'] == [ + 'arn:aws:layer1', + 'arn:aws:layer2' + ] def test_duplicate_resource_name_raises_error(self): one = self.lambda_function() From 953c716a9fc64db7172ba35697299737196f3283 Mon Sep 17 00:00:00 2001 From: stealthycoin Date: Wed, 5 Jun 2019 16:03:33 -0700 Subject: [PATCH 14/14] Update changelog --- CHANGELOG.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 142e253c4..130eb2950 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -17,6 +17,8 @@ Next Release (TBD) (`#1110 `__) * Support repeating values in the query string (`#1131 `__) +* Add layer support to chalice package + (`#1130 `__) 1.8.0