import { AccessLevelList } from '../shared/access-level' ; import { PolicyStatement } from '../shared' ; param sid export class AppmeshPreview extends PolicyStatement { public servicePrefix = 'appmesh-preview' ; param sid constructor ( sid ? ) { super ( sid ) ; } /**
     * Grants permission to create a gateway route that is associated with a virtual gateway
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_CreateGatewayRoute.html
     */ public toCreateGatewayRoute ( ) { return this . to ( 'CreateGatewayRoute' ) ; } /**
     * Grants permission to create a service mesh
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_CreateMesh.html
     */ public toCreateMesh ( ) { return this . to ( 'CreateMesh' ) ; } /**
     * Grants permission to create a route that is associated with a virtual router
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_CreateRoute.html
     */ public toCreateRoute ( ) { return this . to ( 'CreateRoute' ) ; } /**
     * Grants permission to create a virtual gateway within a service mesh
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_CreateVirtualGateway.html
     */ public toCreateVirtualGateway ( ) { return this . to ( 'CreateVirtualGateway' ) ; } /**
     * Grants permission to create a virtual node within a service mesh
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_CreateVirtualNode.html
     */ public toCreateVirtualNode ( ) { return this . to ( 'CreateVirtualNode' ) ; } /**
     * Grants permission to create a virtual router within a service mesh
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_CreateVirtualRouter.html
     */ public toCreateVirtualRouter ( ) { return this . to ( 'CreateVirtualRouter' ) ; } /**
     * Grants permission to create a virtual service within a service mesh
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_CreateVirtualService.html
     */ public toCreateVirtualService ( ) { return this . to ( 'CreateVirtualService' ) ; } /**
     * Grants permission to delete an existing gateway route
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_DeleteGatewayRoute.html
     */ public toDeleteGatewayRoute ( ) { return this . to ( 'DeleteGatewayRoute' ) ; } /**
     * Grants permission to delete an existing service mesh
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_DeleteMesh.html
     */ public toDeleteMesh ( ) { return this . to ( 'DeleteMesh' ) ; } /**
     * Grants permission to delete an existing route
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_DeleteRoute.html
     */ public toDeleteRoute ( ) { return this . to ( 'DeleteRoute' ) ; } /**
     * Grants permission to delete an existing virtual gateway
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_DeleteVirtualGateway.html
     */ public toDeleteVirtualGateway ( ) { return this . to ( 'DeleteVirtualGateway' ) ; } /**
     * Grants permission to delete an existing virtual node
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_DeleteVirtualNode.html
     */ public toDeleteVirtualNode ( ) { return this . to ( 'DeleteVirtualNode' ) ; } /**
     * Grants permission to delete an existing virtual router
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_DeleteVirtualRouter.html
     */ public toDeleteVirtualRouter ( ) { return this . to ( 'DeleteVirtualRouter' ) ; } /**
     * Grants permission to delete an existing virtual service
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_DeleteVirtualService.html
     */ public toDeleteVirtualService ( ) { return this . to ( 'DeleteVirtualService' ) ; } /**
     * Grants permission to describe an existing gateway route
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_DescribeGatewayRoute.html
     */ public toDescribeGatewayRoute ( ) { return this . to ( 'DescribeGatewayRoute' ) ; } /**
     * Grants permission to describe an existing service mesh
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_DescribeMesh.html
     */ public toDescribeMesh ( ) { return this . to ( 'DescribeMesh' ) ; } /**
     * Grants permission to describe an existing route
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_DescribeRoute.html
     */ public toDescribeRoute ( ) { return this . to ( 'DescribeRoute' ) ; } /**
     * Grants permission to describe an existing virtual gateway
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_DescribeVirtualGateway.html
     */ public toDescribeVirtualGateway ( ) { return this . to ( 'DescribeVirtualGateway' ) ; } /**
     * Grants permission to describe an existing virtual node
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_DescribeVirtualNode.html
     */ public toDescribeVirtualNode ( ) { return this . to ( 'DescribeVirtualNode' ) ; } /**
     * Grants permission to describe an existing virtual router
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_DescribeVirtualRouter.html
     */ public toDescribeVirtualRouter ( ) { return this . to ( 'DescribeVirtualRouter' ) ; } /**
     * Grants permission to describe an existing virtual service
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_DescribeVirtualService.html
     */ public toDescribeVirtualService ( ) { return this . to ( 'DescribeVirtualService' ) ; } /**
     * Grants permission to list existing gateway routes in a service mesh
     *
     * Access Level: List
     *
     * https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_ListGatewayRoutes.html
     */ public toListGatewayRoutes ( ) { return this . to ( 'ListGatewayRoutes' ) ; } /**
     * Grants permission to list existing service meshes
     *
     * Access Level: List
     *
     * https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_ListMeshes.html
     */ public toListMeshes ( ) { return this . to ( 'ListMeshes' ) ; } /**
     * Grants permission to list existing routes in a service mesh
     *
     * Access Level: List
     *
     * https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_ListRoutes.html
     */ public toListRoutes ( ) { return this . to ( 'ListRoutes' ) ; } /**
     * Grants permission to list existing virtual gateways in a service mesh
     *
     * Access Level: List
     *
     * https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_ListVirtualGateways.html
     */ public toListVirtualGateways ( ) { return this . to ( 'ListVirtualGateways' ) ; } /**
     * Grants permission to list existing virtual nodes
     *
     * Access Level: List
     *
     * https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_ListVirtualNodes.html
     */ public toListVirtualNodes ( ) { return this . to ( 'ListVirtualNodes' ) ; } /**
     * Grants permission to list existing virtual routers in a service mesh
     *
     * Access Level: List
     *
     * https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_ListVirtualRouters.html
     */ public toListVirtualRouters ( ) { return this . to ( 'ListVirtualRouters' ) ; } /**
     * Grants permission to list existing virtual services in a service mesh
     *
     * Access Level: List
     *
     * https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_ListVirtualServices.html
     */ public toListVirtualServices ( ) { return this . to ( 'ListVirtualServices' ) ; } /**
     * Grants permission to receive streamed resources for an App Mesh endpoint (VirtualNode/VirtualGateway)
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/app-mesh/latest/userguide/envoy.html
     */ public toStreamAggregatedResources ( ) { return this . to ( 'StreamAggregatedResources' ) ; } /**
     * Grants permission to update an existing gateway route for a specified service mesh and virtual gateway
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_UpdateGatewayRoute.html
     */ public toUpdateGatewayRoute ( ) { return this . to ( 'UpdateGatewayRoute' ) ; } /**
     * Grants permission to update an existing service mesh
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_UpdateMesh.html
     */ public toUpdateMesh ( ) { return this . to ( 'UpdateMesh' ) ; } /**
     * Grants permission to update an existing route for a specified service mesh and virtual router
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_UpdateRoute.html
     */ public toUpdateRoute ( ) { return this . to ( 'UpdateRoute' ) ; } /**
     * Grants permission to update an existing virtual gateway in a specified service mesh
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_UpdateVirtualGateway.html
     */ public toUpdateVirtualGateway ( ) { return this . to ( 'UpdateVirtualGateway' ) ; } /**
     * Grants permission to update an existing virtual node in a specified service mesh
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_UpdateVirtualNode.html
     */ public toUpdateVirtualNode ( ) { return this . to ( 'UpdateVirtualNode' ) ; } /**
     * Grants permission to update an existing virtual router in a specified service mesh
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_UpdateVirtualRouter.html
     */ public toUpdateVirtualRouter ( ) { return this . to ( 'UpdateVirtualRouter' ) ; } /**
     * Grants permission to update an existing virtual service in a specified service mesh
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_UpdateVirtualService.html
     */ public toUpdateVirtualService ( ) { return this . to ( 'UpdateVirtualService' ) ; } protected accessLevelList : AccessLevelList = { Write : [ 'CreateGatewayRoute' , 'CreateMesh' , 'CreateRoute' , 'CreateVirtualGateway' , 'CreateVirtualNode' , 'CreateVirtualRouter' , 'CreateVirtualService' , 'DeleteGatewayRoute' , 'DeleteMesh' , 'DeleteRoute' , 'DeleteVirtualGateway' , 'DeleteVirtualNode' , 'DeleteVirtualRouter' , 'DeleteVirtualService' , 'UpdateGatewayRoute' , 'UpdateMesh' , 'UpdateRoute' , 'UpdateVirtualGateway' , 'UpdateVirtualNode' , 'UpdateVirtualRouter' , 'UpdateVirtualService' ] , Read : [ 'DescribeGatewayRoute' , 'DescribeMesh' , 'DescribeRoute' , 'DescribeVirtualGateway' , 'DescribeVirtualNode' , 'DescribeVirtualRouter' , 'DescribeVirtualService' , 'StreamAggregatedResources' ] , List : [ 'ListGatewayRoutes' , 'ListMeshes' , 'ListRoutes' , 'ListVirtualGateways' , 'ListVirtualNodes' , 'ListVirtualRouters' , 'ListVirtualServices' ] } ; param meshName param account param region param partition public onMesh ( meshName , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:appmesh-preview:${ region || '*' }:${ account || '*' }:mesh/${ meshName }` ) ; } param meshName param virtualServiceName param account param region param partition public onVirtualService ( meshName , virtualServiceName , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:appmesh-preview:${ region || '*' }:${ account || '*' }:mesh/${ meshName }/virtualService/${ virtualServiceName }` ) ; } param meshName param virtualNodeName param account param region param partition public onVirtualNode ( meshName , virtualNodeName , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:appmesh-preview:${ region || '*' }:${ account || '*' }:mesh/${ meshName }/virtualNode/${ virtualNodeName }` ) ; } param meshName param virtualRouterName param account param region param partition public onVirtualRouter ( meshName , virtualRouterName , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:appmesh-preview:${ region || '*' }:${ account || '*' }:mesh/${ meshName }/virtualRouter/${ virtualRouterName }` ) ; } param meshName param virtualRouterName param routeName param account param region param partition public onRoute ( meshName , virtualRouterName , routeName , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:appmesh-preview:${ region || '*' }:${ account || '*' }:mesh/${ meshName }/virtualRouter/${ virtualRouterName }/route/${ routeName }` ) ; } param meshName param virtualGatewayName param account param region param partition public onVirtualGateway ( meshName , virtualGatewayName , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:appmesh-preview:${ region || '*' }:${ account || '*' }:mesh/${ meshName }/virtualGateway/${ virtualGatewayName }` ) ; } param meshName param virtualGatewayName param gatewayRouteName param account param region param partition public onGatewayRoute ( meshName , virtualGatewayName , gatewayRouteName , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:appmesh-preview:${ region || '*' }:${ account || '*' }:mesh/${ meshName }/virtualGateway/${ virtualGatewayName }/gatewayRoute/${ gatewayRouteName }` ) ; } }