UNPKG

cdk-iam-floyd

Version:

AWS IAM policy statement generator with fluent interface for AWS CDK

1,287 lines 126 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Mediaconnect = void 0; const shared_1 = require("../../shared"); /** * Statement provider for service [mediaconnect](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awselementalmediaconnect.html). * * @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement */ class Mediaconnect extends shared_1.PolicyStatement { /** * Grants permission to add outputs to an existing bridge * * Access Level: Write * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_AddBridgeOutputs.html */ toAddBridgeOutputs() { return this.to('AddBridgeOutputs'); } /** * Grants permission to add sources to an existing bridge * * Access Level: Write * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_AddBridgeSources.html */ toAddBridgeSources() { return this.to('AddBridgeSources'); } /** * Grants permission to add media streams to any flow * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_AddFlowMediaStreams.html */ toAddFlowMediaStreams() { return this.to('AddFlowMediaStreams'); } /** * Grants permission to add outputs to any flow * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_AddFlowOutputs.html */ toAddFlowOutputs() { return this.to('AddFlowOutputs'); } /** * Grants permission to add sources to any flow * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_AddFlowSources.html */ toAddFlowSources() { return this.to('AddFlowSources'); } /** * Grants permission to add VPC interfaces to any flow * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_AddFlowVpcInterfaces.html */ toAddFlowVpcInterfaces() { return this.to('AddFlowVpcInterfaces'); } /** * Grants permission to associate a router network interface * * Access Level: Write * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_AssociateRouterNetworkInterface.html */ toAssociateRouterNetworkInterface() { return this.to('AssociateRouterNetworkInterface'); } /** * Grants permission to create bridges * * Access Level: Write * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_CreateBridge.html */ toCreateBridge() { return this.to('CreateBridge'); } /** * Grants permission to create flows * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_CreateFlow.html */ toCreateFlow() { return this.to('CreateFlow'); } /** * Grants permission to create gateways * * Access Level: Write * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_CreateGateway.html */ toCreateGateway() { return this.to('CreateGateway'); } /** * Grants permission to create a new router input in AWS Elemental MediaConnect * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * Dependent actions: * - ec2:CreateNetworkInterface * - iam:PassRole * - mediaconnect:AssociateRouterNetworkInterface * - mediaconnect:CreateRouterInput * - mediaconnect:TagResource * - mediaconnect:UpdateFlowOutput * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_CreateRouterInput.html */ toCreateRouterInput() { return this.to('CreateRouterInput'); } /** * Grants permission to create a new router network interface in AWS Elemental MediaConnect * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * Dependent actions: * - iam:CreateServiceLinkedRole * - mediaconnect:CreateRouterNetworkInterface * - mediaconnect:TagResource * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_CreateRouterNetworkInterface.html */ toCreateRouterNetworkInterface() { return this.to('CreateRouterNetworkInterface'); } /** * Grants permission to create a new router output in AWS Elemental MediaConnect * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * Dependent actions: * - ec2:CreateNetworkInterface * - iam:PassRole * - mediaconnect:AssociateRouterNetworkInterface * - mediaconnect:CreateRouterOutput * - mediaconnect:TagResource * - mediaconnect:UpdateFlowSource * - medialive:UpdateInput * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_CreateRouterOutput.html */ toCreateRouterOutput() { return this.to('CreateRouterOutput'); } /** * Grants permission to delete bridges * * Access Level: Write * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_DeleteBridge.html */ toDeleteBridge() { return this.to('DeleteBridge'); } /** * Grants permission to delete flows * * Access Level: Write * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_DeleteFlow.html */ toDeleteFlow() { return this.to('DeleteFlow'); } /** * Grants permission to delete gateways * * Access Level: Write * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_DeleteGateway.html */ toDeleteGateway() { return this.to('DeleteGateway'); } /** * Grants permission to delete a router input in AWS Elemental MediaConnect * * Access Level: Write * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_DeleteRouterInput.html */ toDeleteRouterInput() { return this.to('DeleteRouterInput'); } /** * Grants permission to delete a router network interface from AWS Elemental MediaConnect * * Access Level: Write * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_DeleteRouterNetworkInterface.html */ toDeleteRouterNetworkInterface() { return this.to('DeleteRouterNetworkInterface'); } /** * Grants permission to delete a router output from AWS Elemental MediaConnect * * Access Level: Write * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_DeleteRouterOutput.html */ toDeleteRouterOutput() { return this.to('DeleteRouterOutput'); } /** * Grants permission to deregister gateway instance * * Access Level: Write * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_DeregisterGatewayInstance.html */ toDeregisterGatewayInstance() { return this.to('DeregisterGatewayInstance'); } /** * Grants permission to display the details of a bridge * * Access Level: Read * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_DescribeBridge.html */ toDescribeBridge() { return this.to('DescribeBridge'); } /** * Grants permission to display the details of a flow including the flow ARN, name, and Availability Zone, as well as details about the source, outputs, and entitlements * * Access Level: Read * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_DescribeFlow.html */ toDescribeFlow() { return this.to('DescribeFlow'); } /** * Grants permission to view information about the flow's source transport stream and programs * * Access Level: Read * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_DescribeFlowSourceMetadata.html */ toDescribeFlowSourceMetadata() { return this.to('DescribeFlowSourceMetadata'); } /** * Grants permission to view flow's source thumbnail * * Access Level: Read * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_DescribeFlowSourceThumbnail.html */ toDescribeFlowSourceThumbnail() { return this.to('DescribeFlowSourceThumbnail'); } /** * Grants permission to display the details of a gateway including the gateway ARN, name, and CIDR blocks, as well as details about the networks * * Access Level: Read * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_DescribeGateway.html */ toDescribeGateway() { return this.to('DescribeGateway'); } /** * Grants permission to display the details of a gateway instance * * Access Level: Read * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_DescribeGatewayInstance.html */ toDescribeGatewayInstance() { return this.to('DescribeGatewayInstance'); } /** * Grants permission to display the details of an offering * * Access Level: Read * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_DescribeOffering.html */ toDescribeOffering() { return this.to('DescribeOffering'); } /** * Grants permission to display the details of a reservation * * Access Level: Read * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_DescribeReservation.html */ toDescribeReservation() { return this.to('DescribeReservation'); } /** * Grants permission to discover gateway poll endpoint * * Access Level: Read * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_DiscoverGatewayPollEndpoint.html */ toDiscoverGatewayPollEndpoint() { return this.to('DiscoverGatewayPollEndpoint'); } /** * Grants permission to retrieve information about a specific router input in AWS Elemental MediaConnect * * Access Level: Read * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_GetRouterInput.html */ toGetRouterInput() { return this.to('GetRouterInput'); } /** * Grants permission to retrieve metadata about a router input source in AWS Elemental MediaConnect * * Access Level: Read * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_GetRouterInputSourceMetadata.html */ toGetRouterInputSourceMetadata() { return this.to('GetRouterInputSourceMetadata'); } /** * Grants permission to retrieve the thumbnail for a router input in AWS Elemental MediaConnect * * Access Level: Read * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_GetRouterInputThumbnail.html */ toGetRouterInputThumbnail() { return this.to('GetRouterInputThumbnail'); } /** * Grants permission to retrieve information about a specific router network interface in AWS Elemental MediaConnect * * Access Level: Read * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_GetRouterNetworkInterface.html */ toGetRouterNetworkInterface() { return this.to('GetRouterNetworkInterface'); } /** * Grants permission to retrieve information about a specific router output in AWS Elemental MediaConnect * * Access Level: Read * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_GetRouterOutput.html */ toGetRouterOutput() { return this.to('GetRouterOutput'); } /** * Grants permission to grant entitlements on any flow * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_GrantFlowEntitlements.html */ toGrantFlowEntitlements() { return this.to('GrantFlowEntitlements'); } /** * Grants permission to display a list of bridges that are associated with this account and an optionally specified Arn * * Access Level: List * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_ListBridges.html */ toListBridges() { return this.to('ListBridges'); } /** * Grants permission to display a list of all entitlements that have been granted to the account * * Access Level: List * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_ListEntitlements.html */ toListEntitlements() { return this.to('ListEntitlements'); } /** * Grants permission to display a list of flows that are associated with this account * * Access Level: List * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_ListFlows.html */ toListFlows() { return this.to('ListFlows'); } /** * Grants permission to display a list of instances that are associated with this gateway * * Access Level: List * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_ListGatewayInstances.html */ toListGatewayInstances() { return this.to('ListGatewayInstances'); } /** * Grants permission to display a list of gateways that are associated with this account * * Access Level: List * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_ListGateways.html */ toListGateways() { return this.to('ListGateways'); } /** * Grants permission to display a list of all offerings that are available to the account in the current AWS Region * * Access Level: List * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_ListOfferings.html */ toListOfferings() { return this.to('ListOfferings'); } /** * Grants permission to display a list of all reservations that have been purchased by the account in the current AWS Region * * Access Level: List * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_ListReservations.html */ toListReservations() { return this.to('ListReservations'); } /** * Grants permission to retrieve a list of router inputs in AWS Elemental MediaConnect * * Access Level: List * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_ListRouterInputs.html */ toListRouterInputs() { return this.to('ListRouterInputs'); } /** * Grants permission to retrieve a list of router network interfaces in AWS Elemental MediaConnect * * Access Level: List * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_ListRouterNetworkInterfaces.html */ toListRouterNetworkInterfaces() { return this.to('ListRouterNetworkInterfaces'); } /** * Grants permission to retrieve a list of router outputs in AWS Elemental MediaConnect * * Access Level: List * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_ListRouterOutputs.html */ toListRouterOutputs() { return this.to('ListRouterOutputs'); } /** * Grants permission to display a list of all tags associated with a resource * * Access Level: Read * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_ListTagsForResource.html */ toListTagsForResource() { return this.to('ListTagsForResource'); } /** * Grants permission to poll gateway * * Access Level: Write * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_PollGateway.html */ toPollGateway() { return this.to('PollGateway'); } /** * Grants permission to purchase an offering * * Access Level: Write * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_PurchaseOffering.html */ toPurchaseOffering() { return this.to('PurchaseOffering'); } /** * Grants permission to remove an output of an existing bridge * * Access Level: Write * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_RemoveBridgeOutput.html */ toRemoveBridgeOutput() { return this.to('RemoveBridgeOutput'); } /** * Grants permission to remove a source of an existing bridge * * Access Level: Write * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_RemoveBridgeSource.html */ toRemoveBridgeSource() { return this.to('RemoveBridgeSource'); } /** * Grants permission to remove media streams from any flow * * Access Level: Write * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_RemoveFlowMediaStream.html */ toRemoveFlowMediaStream() { return this.to('RemoveFlowMediaStream'); } /** * Grants permission to remove outputs from any flow * * Access Level: Write * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_RemoveFlowOutput.html */ toRemoveFlowOutput() { return this.to('RemoveFlowOutput'); } /** * Grants permission to remove sources from any flow * * Access Level: Write * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_RemoveFlowSource.html */ toRemoveFlowSource() { return this.to('RemoveFlowSource'); } /** * Grants permission to remove VPC interfaces from any flow * * Access Level: Write * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_RemoveFlowVpcInterface.html */ toRemoveFlowVpcInterface() { return this.to('RemoveFlowVpcInterface'); } /** * Grants permission to restart a router input in AWS Elemental MediaConnect * * Access Level: Write * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_RestartRouterInput.html */ toRestartRouterInput() { return this.to('RestartRouterInput'); } /** * Grants permission to restart a router output in AWS Elemental MediaConnect * * Access Level: Write * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_RestartRouterOutput.html */ toRestartRouterOutput() { return this.to('RestartRouterOutput'); } /** * Grants permission to revoke entitlements on any flow * * Access Level: Write * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_RevokeFlowEntitlement.html */ toRevokeFlowEntitlement() { return this.to('RevokeFlowEntitlement'); } /** * Grants permission to start flows * * Access Level: Write * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_StartFlow.html */ toStartFlow() { return this.to('StartFlow'); } /** * Grants permission to start a router input in AWS Elemental MediaConnect * * Access Level: Write * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_StartRouterInput.html */ toStartRouterInput() { return this.to('StartRouterInput'); } /** * Grants permission to start a router output in AWS Elemental MediaConnect * * Access Level: Write * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_StartRouterOutput.html */ toStartRouterOutput() { return this.to('StartRouterOutput'); } /** * Grants permission to stop flows * * Access Level: Write * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_StopFlow.html */ toStopFlow() { return this.to('StopFlow'); } /** * Grants permission to stop a router input in AWS Elemental MediaConnect * * Access Level: Write * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_StopRouterInput.html */ toStopRouterInput() { return this.to('StopRouterInput'); } /** * Grants permission to stops a router output in AWS Elemental MediaConnect * * Access Level: Write * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_StopRouterOutput.html */ toStopRouterOutput() { return this.to('StopRouterOutput'); } /** * Grants permission to submit gateway state change * * Access Level: Write * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_SubmitGatewayStateChange.html */ toSubmitGatewayStateChange() { return this.to('SubmitGatewayStateChange'); } /** * Grants permission to associate tags with resources * * Access Level: Tagging * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_TagResource.html */ toTagResource() { return this.to('TagResource'); } /** * Grants permission to associate a router input with a router output in AWS Elemental MediaConnect * * Access Level: Write * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_TakeRouterInput.html */ toTakeRouterInput() { return this.to('TakeRouterInput'); } /** * Grants permission to remove tags from resources * * Access Level: Tagging * * Possible conditions: * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_UntagResource.html */ toUntagResource() { return this.to('UntagResource'); } /** * Grants permission to update bridges * * Access Level: Write * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_UpdateBridge.html */ toUpdateBridge() { return this.to('UpdateBridge'); } /** * Grants permission to update an output of an existing bridge * * Access Level: Write * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_UpdateBridgeOutput.html */ toUpdateBridgeOutput() { return this.to('UpdateBridgeOutput'); } /** * Grants permission to update a source of an existing bridge * * Access Level: Write * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_UpdateBridgeSource.html */ toUpdateBridgeSource() { return this.to('UpdateBridgeSource'); } /** * Grants permission to update the state of an existing bridge * * Access Level: Write * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_UpdateBridgeState.html */ toUpdateBridgeState() { return this.to('UpdateBridgeState'); } /** * Grants permission to update flows * * Access Level: Write * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_UpdateFlow.html */ toUpdateFlow() { return this.to('UpdateFlow'); } /** * Grants permission to update entitlements on any flow * * Access Level: Write * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_UpdateFlowEntitlement.html */ toUpdateFlowEntitlement() { return this.to('UpdateFlowEntitlement'); } /** * Grants permission to update media streams on any flow * * Access Level: Write * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_UpdateFlowMediaStream.html */ toUpdateFlowMediaStream() { return this.to('UpdateFlowMediaStream'); } /** * Grants permission to update outputs on any flow * * Access Level: Write * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_UpdateFlowOutput.html */ toUpdateFlowOutput() { return this.to('UpdateFlowOutput'); } /** * Grants permission to update the source of any flow * * Access Level: Write * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_UpdateFlowSource.html */ toUpdateFlowSource() { return this.to('UpdateFlowSource'); } /** * Grants permission to update the configuration of an existing Gateway Instance * * Access Level: Write * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_UpdateGatewayInstance.html */ toUpdateGatewayInstance() { return this.to('UpdateGatewayInstance'); } /** * Grants permission to update the configuration of a router input in AWS Elemental MediaConnect * * Access Level: Write * * Dependent actions: * - ec2:CreateNetworkInterface * - iam:PassRole * - mediaconnect:AssociateRouterNetworkInterface * - mediaconnect:UpdateFlowOutput * - mediaconnect:UpdateRouterInput * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_UpdateRouterInput.html */ toUpdateRouterInput() { return this.to('UpdateRouterInput'); } /** * Grants permission to updated the configuration of a router network interface in AWS Elemental MediaConnect * * Access Level: Write * * Dependent actions: * - iam:CreateServiceLinkedRole * - mediaconnect:UpdateRouterNetworkInterface * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_UpdateRouterNetworkInterface.html */ toUpdateRouterNetworkInterface() { return this.to('UpdateRouterNetworkInterface'); } /** * Grants permission to update the configuration of a router output in AWS Elemental MediaConnect * * Access Level: Write * * Dependent actions: * - ec2:CreateNetworkInterface * - iam:PassRole * - mediaconnect:AssociateRouterNetworkInterface * - mediaconnect:UpdateFlowSource * - mediaconnect:UpdateRouterOutput * - medialive:UpdateInput * * https://docs.aws.amazon.com/mediaconnect/latest/api/API_UpdateRouterOutput.html */ toUpdateRouterOutput() { return this.to('UpdateRouterOutput'); } /** * Adds a resource of type Bridge to the statement * * https://docs.aws.amazon.com/mediaconnect/latest/ug/gateway-components-bridges.html * * @param bridgeId - Identifier for the bridgeId. * @param bridgeName - Identifier for the bridgeName. * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account. * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region. * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition. */ onBridge(bridgeId, bridgeName, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:mediaconnect:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:bridge:${bridgeId}:${bridgeName}`); } /** * Adds a resource of type Entitlement to the statement * * https://docs.aws.amazon.com/mediaconnect/latest/ug/entitlements.html * * @param flowId - Identifier for the flowId. * @param entitlementName - Identifier for the entitlementName. * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account. * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region. * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition. * * Possible conditions: * - .ifAwsResourceTag() */ onEntitlement(flowId, entitlementName, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:mediaconnect:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:entitlement:${flowId}:${entitlementName}`); } /** * Adds a resource of type Flow to the statement * * https://docs.aws.amazon.com/mediaconnect/latest/ug/flows.html * * @param flowId - Identifier for the flowId. * @param flowName - Identifier for the flowName. * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account. * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region. * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition. * * Possible conditions: * - .ifAwsResourceTag() */ onFlow(flowId, flowName, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:mediaconnect:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:flow:${flowId}:${flowName}`); } /** * Adds a resource of type Gateway to the statement * * https://docs.aws.amazon.com/mediaconnect/latest/ug/gateway.html * * @param gatewayId - Identifier for the gatewayId. * @param gatewayName - Identifier for the gatewayName. * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account. * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region. * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition. */ onGateway(gatewayId, gatewayName, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:mediaconnect:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:gateway:${gatewayId}:${gatewayName}`); } /** * Adds a resource of type GatewayInstance to the statement * * https://docs.aws.amazon.com/mediaconnect/latest/ug/gateway-components-instances.html * * @param gatewayId - Identifier for the gatewayId. * @param gatewayName - Identifier for the gatewayName. * @param instanceId - Identifier for the instanceId. * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account. * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region. * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition. */ onGatewayInstance(gatewayId, gatewayName, instanceId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:mediaconnect:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:gateway:${gatewayId}:${gatewayName}:instance:${instanceId}`); } /** * Adds a resource of type MediaStream to the statement * * https://docs.aws.amazon.com/mediaconnect/latest/ug/media-streams.html * * @param flowId - Identifier for the flowId. * @param flowName - Identifier for the flowName. * @param mediaStreamName - Identifier for the mediaStreamName. * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account. * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region. * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition. * * Possible conditions: * - .ifAwsResourceTag() */ onMediaStream(flowId, flowName, mediaStreamName, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:mediaconnect:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:flow:${flowId}:${flowName}/mediaStream/${mediaStreamName}`); } /** * Adds a resource of type Offering to the statement * * https://docs.aws.amazon.com/mediaconnect/latest/ug/offerings.html * * @param offeringId - Identifier for the offeringId. * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region. * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition. */ onOffering(offeringId, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:mediaconnect:${region ?? this.defaultRegion}:offering:${offeringId}`); } /** * Adds a resource of type Output to the statement * * https://docs.aws.amazon.com/mediaconnect/latest/ug/outputs.html * * @param outputId - Identifier for the outputId. * @param outputName - Identifier for the outputName. * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account. * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region. * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition. * * Possible conditions: * - .ifAwsResourceTag() */ onOutput(outputId, outputName, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:mediaconnect:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:output:${outputId}:${outputName}`); } /** * Adds a resource of type Reservation to the statement * * https://docs.aws.amazon.com/mediaconnect/latest/ug/reservations.html * * @param reservationId - Identifier for the reservationId. * @param reservationName - Identifier for the reservationName. * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account. * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region. * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition. */ onReservation(reservationId, reservationName, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:mediaconnect:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:reservation:${reservationId}:${reservationName}`); } /** * Adds a resource of type RouterInput to the statement * * https://docs.aws.amazon.com/mediaconnect/latest/ug/managing-router-io.html * * @param routerInputId - Identifier for the routerInputId. * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account. * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region. * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition. * * Possible conditions: * - .ifAwsResourceTag() */ onRouterInput(routerInputId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:mediaconnect:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:routerInput:${routerInputId}`); } /** * Adds a resource of type RouterNetworkInterface to the statement * * https://docs.aws.amazon.com/mediaconnect/latest/ug/managing-router-network-interfaces.html * * @param routerNetworkInterfaceId - Identifier for the routerNetworkInterfaceId. * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account. * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region. * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition. * * Possible conditions: * - .ifAwsResourceTag() */ onRouterNetworkInterface(routerNetworkInterfaceId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:mediaconnect:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:routerNetworkInterface:${routerNetworkInterfaceId}`); } /** * Adds a resource of type RouterOutput to the statement * * https://docs.aws.amazon.com/mediaconnect/latest/ug/managing-router-io.html * * @param routerOutputId - Identifier for the routerOutputId. * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account. * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region. * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition. * * Possible conditions: * - .ifAwsResourceTag() */ onRouterOutput(routerOutputId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:mediaconnect:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:routerOutput:${routerOutputId}`); } /** * Adds a resource of type Source to the statement * * https://docs.aws.amazon.com/mediaconnect/latest/ug/sources.html * * @param sourceId - Identifier for the sourceId. * @param sourceName - Identifier for the sourceName. * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account. * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region. * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition. * * Possible conditions: * - .ifAwsResourceTag() */ onSource(sourceId, sourceName, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:mediaconnect:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:source:${sourceId}:${sourceName}`); } /** * Adds a resource of type VpcInterface to the statement * * https://docs.aws.amazon.com/mediaconnect/latest/ug/vpc-interfaces.html * * @param flowId - Identifier for the flowId. * @param flowName - Identifier for the flowName. * @param vpcInterfaceName - Identifier for the vpcInterfaceName. * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account. * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region. * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition. * * Possible conditions: * - .ifAwsResourceTag() */ onVpcInterface(flowId, flowName, vpcInterfaceName, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:mediaconnect:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:flow:${flowId}:${flowName}/vpcInterface/${vpcInterfaceName}`); } /** * Filters access by tags that are passed in the request * * https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag * * Applies to actions: * - .toAddFlowMediaStreams() * - .toAddFlowOutputs() * - .toAddFlowSources() * - .toAddFlowVpcInterfaces() * - .toCreateFlow() * - .toCreateRouterInput() * - .toCreateRouterNetworkInterface() * - .toCreateRouterOutput() * - .toGrantFlowEntitlements() * - .toTagResource() * * @param tagKey The tag key to check * @param value The value(s) to check * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike` */ ifAwsRequestTag(tagKey, value, operator) { return this.if(`aws:RequestTag/${tagKey}`, value, operator ?? 'StringLike'); } /** * Filters access by tags associated with the resource * * https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requesttag * * Applies to resource types: * - Entitlement * - Flow * - MediaStream * - Output * - RouterInput * - RouterNetworkInterface * - RouterOutput * - Source * - VpcInterface * * @param tagKey The tag key to check * @param value The value(s) to check * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike` */ ifAwsResourceTag(tagKey, value, operator) { return this.if(`aws:ResourceTag/${tagKey}`, value, operator ?? 'StringLike'); } /** * Filters access by tag keys that are passed in the request * * https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-tagkeys * * Applies to actions: * - .toAddFlowMediaStreams() * - .toAddFlowOutputs() * - .toAddFlowSources() * - .toAddFlowVpcInterfaces() * - .toCreateFlow() * - .toCreateRouterInput() * - .toCreateRouterNetworkInterface() * - .toCreateRouterOutput() * - .toGrantFlowEntitlements() * - .toTagResource() * - .toUntagResource() * * @param value The value(s) to check * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike` */ ifAwsTagKeys(value, operator) { return this.if(`aws:TagKeys`, value, operator ?? 'StringLike'); } /** * Statement provider for service [mediaconnect](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awselementalmediaconnect.html). * */ constructor(props) { super(props); this.servicePrefix = 'mediaconnect'; this.accessLevelList = { Write: [ 'AddBridgeOutputs', 'AddBridgeSources', 'AddFlowMediaStreams', 'AddFlowOutputs', 'AddFlowSources', 'AddFlowVpcInterfaces', 'AssociateRouterNetworkInterface', 'CreateBridge', 'CreateFlow', 'CreateGateway', 'CreateRouterInput', 'CreateRouterNetworkInterface', 'CreateRouterOutput', 'DeleteBridge', 'DeleteFlow', 'DeleteGateway', 'DeleteRouterInput', 'DeleteRouterNetworkInterface', 'DeleteRouterOutput', 'DeregisterGatewayInstance', 'GrantFlowEntitlements', 'PollGateway', 'PurchaseOffering', 'RemoveBridgeOutput', 'RemoveBridgeSource', 'RemoveFlowMediaStream', 'RemoveFlowOutput', 'RemoveFlowSource', 'RemoveFlowVpcInterface', 'RestartRouterInput', 'RestartRouterOutput', 'RevokeFlowEntitlement', 'StartFlow', 'StartRouterInput', 'StartRouterOutput', 'StopFlow', 'StopRouterInput', 'StopRouterOutput', 'SubmitGatewayStateChange', 'TakeRouterInput', 'UpdateBridge', 'UpdateBridgeOutput', 'UpdateBridgeSource', 'UpdateBridgeState', 'UpdateFlow', 'UpdateFlowEntitlement', 'UpdateFlowMediaStream', 'UpdateFlowOutput', 'UpdateFlowSource', 'UpdateGatewayInstance', 'UpdateRouterInput', 'UpdateRouterNetworkInterface', 'UpdateRouterOutput' ], Read: [ 'DescribeBridge', 'DescribeFlow', 'DescribeFlowSourceMetadata', 'DescribeFlowSourceThumbnail', 'DescribeGateway', 'DescribeGatewayInstance', 'DescribeOffering', 'DescribeReservation', 'DiscoverGatewayPollEndpoint', 'GetRouterInput', 'GetRouterInputSourceMetadata', 'GetRouterInputThumbnail', 'GetRouterNetworkInterface', 'GetRouterOutput', 'ListTagsForResource' ], List: [ 'ListBridges', 'ListEntitlements', 'ListFlows', 'ListGatewayInstances', 'ListGateways', 'ListOfferings', 'ListReservations', 'ListRouterInputs', 'ListRouterNetworkInterfaces', 'ListRouterOutputs' ], Tagging: [ 'TagResource', 'UntagResource' ] }; } } exports.Mediaconnect = Mediaconnect; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudGFsbWVkaWFjb25uZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZWxlbWVudGFsbWVkaWFjb25uZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHlDQUF5RDtBQUd6RDs7OztHQUlHO0FBQ0gsTUFBYSxZQUFhLFNBQVEsd0JBQWU7SUFHL0M7Ozs7OztPQU1HO0lBQ0ksa0JBQWtCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxrQkFBa0I7UUFDdkIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDSSxxQkFBcUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDSSxnQkFBZ0I7UUFDckIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDSSxnQkFBZ0I7UUFDckIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDSSxzQkFBc0I7UUFDM0IsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLGlDQUFpQztRQUN0QyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsaUNBQWlDLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksY0FBYztRQUNuQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDSSxZQUFZO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksZUFBZTtRQUNwQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FrQkc7SUFDSSxtQkFBbUI7UUFDeEIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7T0FlRztJQUNJLDhCQUE4QjtRQUNuQyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsOEJBQThCLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FtQkc7SUFDSSxvQkFBb0I7UUFDekIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLGNBQWM7UUFDbkIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxZQUFZO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksZUFBZTtRQUNwQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLG1CQUFtQjtRQUN4QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksOEJBQThCO1FBQ25DLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxvQkFBb0I7UUFDekIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLDJCQUEyQjtRQUNoQyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksZ0JBQWdCO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0