cdk-iam-floyd
Version:
AWS IAM policy statement generator with fluent interface for AWS CDK
833 lines • 81.8 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Rtbfabric = void 0;
const shared_1 = require("../../shared");
/**
* Statement provider for service [rtbfabric](https://docs.aws.amazon.com/service-authorization/latest/reference/list_rtbfabric.html).
*
* @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement
*/
class Rtbfabric extends shared_1.PolicyStatement {
/**
* Grants permission to accept a link invitation from another Gateway
*
* Access Level: Write
*
* https://docs.aws.amazon.com/rtb-fabric/latest/api/API_AcceptLink.html
*/
toAcceptLink() {
return this.to('AcceptLink');
}
/**
* Grants permission to associate an ACM certificate with a responder gateway
*
* Access Level: Write
*
* https://docs.aws.amazon.com/rtb-fabric/latest/api/API_AssociateCertificate.html
*/
toAssociateCertificate() {
return this.to('AssociateCertificate');
}
/**
* Grants permission to create an inbound external link for a responder gateway
*
* Access Level: Write
*
* https://docs.aws.amazon.com/rtb-fabric/latest/api/API_CreateInboundExternalLink.html
*/
toCreateInboundExternalLink() {
return this.to('CreateInboundExternalLink');
}
/**
* Grants permission to create a new link between RTB applications
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
*
* https://docs.aws.amazon.com/rtb-fabric/latest/api/API_CreateLink.html
*/
toCreateLink() {
return this.to('CreateLink');
}
/**
* Grants permission to create a routing rule for a link
*
* Access Level: Write
*
* https://docs.aws.amazon.com/rtb-fabric/latest/api/API_CreateLinkRoutingRule.html
*/
toCreateLinkRoutingRule() {
return this.to('CreateLinkRoutingRule');
}
/**
* Grants permission to create an outbound external link for a requester gateway to connect to external public responder endpoints
*
* Access Level: Write
*
* https://docs.aws.amazon.com/rtb-fabric/latest/api/API_CreateOutboundExternalLink.html
*/
toCreateOutboundExternalLink() {
return this.to('CreateOutboundExternalLink');
}
/**
* Grants permission to create a requester gateway
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
*
* https://docs.aws.amazon.com/rtb-fabric/latest/api/API_CreateRequesterGateway.html
*/
toCreateRequesterGateway() {
return this.to('CreateRequesterGateway');
}
/**
* Grants permission to create a responder gateway
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
*
* https://docs.aws.amazon.com/rtb-fabric/latest/api/API_CreateResponderGateway.html
*/
toCreateResponderGateway() {
return this.to('CreateResponderGateway');
}
/**
* Grants permission to delete an inbound external link
*
* Access Level: Write
*
* https://docs.aws.amazon.com/rtb-fabric/latest/api/API_DeleteInboundExternalLink.html
*/
toDeleteInboundExternalLink() {
return this.to('DeleteInboundExternalLink');
}
/**
* Grants permission to delete a link between RTB applications
*
* Access Level: Write
*
* https://docs.aws.amazon.com/rtb-fabric/latest/api/API_DeleteLink.html
*/
toDeleteLink() {
return this.to('DeleteLink');
}
/**
* Grants permission to delete a routing rule from a link
*
* Access Level: Write
*
* https://docs.aws.amazon.com/rtb-fabric/latest/api/API_DeleteLinkRoutingRule.html
*/
toDeleteLinkRoutingRule() {
return this.to('DeleteLinkRoutingRule');
}
/**
* Grants permission to delete an outbound external link
*
* Access Level: Write
*
* https://docs.aws.amazon.com/rtb-fabric/latest/api/API_DeleteOutboundExternalLink.html
*/
toDeleteOutboundExternalLink() {
return this.to('DeleteOutboundExternalLink');
}
/**
* Grants permission to delete a requester gateway
*
* Access Level: Write
*
* https://docs.aws.amazon.com/rtb-fabric/latest/api/API_DeleteRequesterGateway.html
*/
toDeleteRequesterGateway() {
return this.to('DeleteRequesterGateway');
}
/**
* Grants permission to delete a responder gateway
*
* Access Level: Write
*
* https://docs.aws.amazon.com/rtb-fabric/latest/api/API_DeleteResponderGateway.html
*/
toDeleteResponderGateway() {
return this.to('DeleteResponderGateway');
}
/**
* Grants permission to remove a certificate association from a responder gateway
*
* Access Level: Write
*
* https://docs.aws.amazon.com/rtb-fabric/latest/api/API_DisassociateCertificate.html
*/
toDisassociateCertificate() {
return this.to('DisassociateCertificate');
}
/**
* Grants permission to retrieve details of a certificate association with a responder gateway
*
* Access Level: Read
*
* https://docs.aws.amazon.com/rtb-fabric/latest/api/API_GetCertificateAssociation.html
*/
toGetCertificateAssociation() {
return this.to('GetCertificateAssociation');
}
/**
* Grants permission to retrieve information about an inbound external link
*
* Access Level: Read
*
* https://docs.aws.amazon.com/rtb-fabric/latest/api/API_GetInboundExternalLink.html
*/
toGetInboundExternalLink() {
return this.to('GetInboundExternalLink');
}
/**
* Grants permission to retrieve information about a link between RTB applications
*
* Access Level: Read
*
* https://docs.aws.amazon.com/rtb-fabric/latest/api/API_GetLink.html
*/
toGetLink() {
return this.to('GetLink');
}
/**
* Grants permission to retrieve information about a routing rule for a link
*
* Access Level: Read
*
* https://docs.aws.amazon.com/rtb-fabric/latest/api/API_GetLinkRoutingRule.html
*/
toGetLinkRoutingRule() {
return this.to('GetLinkRoutingRule');
}
/**
* Grants permission to retrieve information about an outbound external link
*
* Access Level: Read
*
* https://docs.aws.amazon.com/rtb-fabric/latest/api/API_GetOutboundExternalLink.html
*/
toGetOutboundExternalLink() {
return this.to('GetOutboundExternalLink');
}
/**
* Grants permission to retrieve information about a requester gateway
*
* Access Level: Read
*
* https://docs.aws.amazon.com/rtb-fabric/latest/api/API_GetRequesterGateway.html
*/
toGetRequesterGateway() {
return this.to('GetRequesterGateway');
}
/**
* Grants permission to retrieve information about a responder gateway
*
* Access Level: Read
*
* https://docs.aws.amazon.com/rtb-fabric/latest/api/API_GetResponderGateway.html
*/
toGetResponderGateway() {
return this.to('GetResponderGateway');
}
/**
* Grants permission to list certificate associations for a responder gateway
*
* Access Level: List
*
* https://docs.aws.amazon.com/rtb-fabric/latest/api/API_ListCertificateAssociations.html
*/
toListCertificateAssociations() {
return this.to('ListCertificateAssociations');
}
/**
* Grants permission to list routing rules for a link
*
* Access Level: List
*
* https://docs.aws.amazon.com/rtb-fabric/latest/api/API_ListLinkRoutingRules.html
*/
toListLinkRoutingRules() {
return this.to('ListLinkRoutingRules');
}
/**
* Grants permission to list links associated with an RTB application
*
* Access Level: List
*
* https://docs.aws.amazon.com/rtb-fabric/latest/api/API_ListLinks.html
*/
toListLinks() {
return this.to('ListLinks');
}
/**
* Grants permission to list requester gateways with optional filtering and pagination
*
* Access Level: List
*
* https://docs.aws.amazon.com/rtb-fabric/latest/api/API_ListRequesterGateways.html
*/
toListRequesterGateways() {
return this.to('ListRequesterGateways');
}
/**
* Grants permission to list responder gateways with optional filtering and pagination
*
* Access Level: List
*
* https://docs.aws.amazon.com/rtb-fabric/latest/api/API_ListResponderGateways.html
*/
toListResponderGateways() {
return this.to('ListResponderGateways');
}
/**
* Grants permission to list tags for a resource
*
* Access Level: Read
*
* https://docs.aws.amazon.com/rtb-fabric/latest/api/API_ListTagsForResource.html
*/
toListTagsForResource() {
return this.to('ListTagsForResource');
}
/**
* Grants permission to reject a link request between RTB applications
*
* Access Level: Write
*
* https://docs.aws.amazon.com/rtb-fabric/latest/api/API_RejectLink.html
*/
toRejectLink() {
return this.to('RejectLink');
}
/**
* Grants permission to assign one or more tags (key-value pairs) to the specified resource
*
* Access Level: Tagging, Write
*
* https://docs.aws.amazon.com/rtb-fabric/latest/api/API_TagResource.html
*/
toTagResource() {
return this.to('TagResource');
}
/**
* Grants permission to remove a tag or tags from a resource
*
* Access Level: Tagging, Write
*
* https://docs.aws.amazon.com/rtb-fabric/latest/api/API_UntagResource.html
*/
toUntagResource() {
return this.to('UntagResource');
}
/**
* Grants permission to update configuration settings for an existing link
*
* Access Level: Write
*
* https://docs.aws.amazon.com/rtb-fabric/latest/api/API_UpdateLink.html
*/
toUpdateLink() {
return this.to('UpdateLink');
}
/**
* Grants permission to update a link module flow
*
* Access Level: Write
*
* https://docs.aws.amazon.com/rtb-fabric/latest/api/API_UpdateLinkModuleFlow.html
*/
toUpdateLinkModuleFlow() {
return this.to('UpdateLinkModuleFlow');
}
/**
* Grants permission to update a routing rule for a link
*
* Access Level: Write
*
* https://docs.aws.amazon.com/rtb-fabric/latest/api/API_UpdateLinkRoutingRule.html
*/
toUpdateLinkRoutingRule() {
return this.to('UpdateLinkRoutingRule');
}
/**
* Grants permission to update a requester gateway
*
* Access Level: Write
*
* https://docs.aws.amazon.com/rtb-fabric/latest/api/API_UpdateRequesterGateway.html
*/
toUpdateRequesterGateway() {
return this.to('UpdateRequesterGateway');
}
/**
* Grants permission to update a responder gateway
*
* Access Level: Write
*
* https://docs.aws.amazon.com/rtb-fabric/latest/api/API_UpdateResponderGateway.html
*/
toUpdateResponderGateway() {
return this.to('UpdateResponderGateway');
}
/**
* Adds a resource of type InboundExternalLink to the statement
*
* https://docs.aws.amazon.com/rtb-fabric/latest/userguide/links.html
*
* @param gatewayId - Identifier for the gatewayId.
* @param linkId - Identifier for the linkId.
* @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()
* - .ifInboundExternalLinkLinkId()
* - .ifResponderGatewayGatewayId()
*/
onInboundExternalLink(gatewayId, linkId, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:rtbfabric:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:gateway/${gatewayId}/link/${linkId}`);
}
/**
* Adds a resource of type Link to the statement
*
* https://docs.aws.amazon.com/rtb-fabric/latest/userguide/links.html
*
* @param gatewayId - Identifier for the gatewayId.
* @param linkId - Identifier for the linkId.
* @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()
* - .ifLinkLinkId()
* - .ifRequesterGatewayGatewayId()
* - .ifResponderGatewayGatewayId()
*/
onLink(gatewayId, linkId, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:rtbfabric:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:gateway/${gatewayId}/link/${linkId}`);
}
/**
* Adds a resource of type LinkRoutingRule to the statement
*
* https://docs.aws.amazon.com/rtb-fabric/latest/userguide/links.html
*
* @param gatewayId - Identifier for the gatewayId.
* @param linkId - Identifier for the linkId.
* @param ruleId - Identifier for the ruleId.
* @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()
* - .ifLinkLinkId()
* - .ifLinkRoutingRuleRuleId()
*/
onLinkRoutingRule(gatewayId, linkId, ruleId, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:rtbfabric:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:gateway/${gatewayId}/link/${linkId}/routing-rule/${ruleId}`);
}
/**
* Adds a resource of type OutboundExternalLink to the statement
*
* https://docs.aws.amazon.com/rtb-fabric/latest/userguide/links.html
*
* @param gatewayId - Identifier for the gatewayId.
* @param linkId - Identifier for the linkId.
* @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()
* - .ifOutboundExternalLinkLinkId()
* - .ifRequesterGatewayGatewayId()
*/
onOutboundExternalLink(gatewayId, linkId, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:rtbfabric:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:gateway/${gatewayId}/link/${linkId}`);
}
/**
* Adds a resource of type RequesterGateway to the statement
*
* https://docs.aws.amazon.com/rtb-fabric/latest/userguide/working-with-requester-rtb-applications.html
*
* @param gatewayId - Identifier for the gatewayId.
* @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()
* - .ifRequesterGatewayGatewayId()
*/
onRequesterGateway(gatewayId, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:rtbfabric:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:gateway/${gatewayId}`);
}
/**
* Adds a resource of type ResponderGateway to the statement
*
* https://docs.aws.amazon.com/rtb-fabric/latest/userguide/working-with-responder-rtb-applications.html
*
* @param gatewayId - Identifier for the gatewayId.
* @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()
* - .ifResponderGatewayGatewayId()
*/
onResponderGateway(gatewayId, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:rtbfabric:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:gateway/${gatewayId}`);
}
/**
* Filters access by a tag key and value pair that is allowed in the request
*
* https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requesttag
*
* Applies to actions:
* - .toCreateInboundExternalLink()
* - .toCreateLink()
* - .toCreateLinkRoutingRule()
* - .toCreateOutboundExternalLink()
* - .toCreateRequesterGateway()
* - .toCreateResponderGateway()
* - .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 a tag key and value pair of a resource
*
* https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag
*
* Applies to actions:
* - .toAcceptLink()
* - .toAssociateCertificate()
* - .toCreateInboundExternalLink()
* - .toCreateLinkRoutingRule()
* - .toCreateOutboundExternalLink()
* - .toDeleteInboundExternalLink()
* - .toDeleteLink()
* - .toDeleteLinkRoutingRule()
* - .toDeleteOutboundExternalLink()
* - .toDeleteRequesterGateway()
* - .toDeleteResponderGateway()
* - .toDisassociateCertificate()
* - .toGetCertificateAssociation()
* - .toGetInboundExternalLink()
* - .toGetLink()
* - .toGetLinkRoutingRule()
* - .toGetOutboundExternalLink()
* - .toGetRequesterGateway()
* - .toGetResponderGateway()
* - .toListCertificateAssociations()
* - .toListLinkRoutingRules()
* - .toListTagsForResource()
* - .toRejectLink()
* - .toTagResource()
* - .toUntagResource()
* - .toUpdateLink()
* - .toUpdateLinkModuleFlow()
* - .toUpdateLinkRoutingRule()
* - .toUpdateRequesterGateway()
* - .toUpdateResponderGateway()
*
* Applies to resource types:
* - InboundExternalLink
* - Link
* - LinkRoutingRule
* - OutboundExternalLink
* - RequesterGateway
* - ResponderGateway
*
* @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 a list of tag keys that are allowed in the request
*
* https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-tagkeys
*
* Applies to actions:
* - .toCreateInboundExternalLink()
* - .toCreateLink()
* - .toCreateLinkRoutingRule()
* - .toCreateOutboundExternalLink()
* - .toCreateRequesterGateway()
* - .toCreateResponderGateway()
* - .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');
}
/**
* Filters access by gateway identifier supporting rtb-gw-* formats
*
* https://docs.aws.amazon.com/rtb-fabric/latest/userguide/security_iam_service-with-iam.html
*
* @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`
*/
ifInboundExternalLinkGatewayId(value, operator) {
return this.if(`InboundExternalLinkGatewayId`, value, operator ?? 'StringLike');
}
/**
* Filters access by InboundExternalLink resource linkId identifier
*
* https://docs.aws.amazon.com/rtb-fabric/latest/userguide/security_iam_service-with-iam.html
*
* Applies to actions:
* - .toDeleteInboundExternalLink()
* - .toGetInboundExternalLink()
* - .toListTagsForResource()
* - .toTagResource()
* - .toUntagResource()
*
* Applies to resource types:
* - InboundExternalLink
*
* @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`
*/
ifInboundExternalLinkLinkId(value, operator) {
return this.if(`InboundExternalLinkLinkId`, value, operator ?? 'StringLike');
}
/**
* Filters access by Link resource linkId identifier
*
* https://docs.aws.amazon.com/rtb-fabric/latest/userguide/security_iam_service-with-iam.html
*
* Applies to actions:
* - .toAcceptLink()
* - .toCreateLinkRoutingRule()
* - .toDeleteLink()
* - .toDeleteLinkRoutingRule()
* - .toGetLink()
* - .toGetLinkRoutingRule()
* - .toListLinkRoutingRules()
* - .toListTagsForResource()
* - .toRejectLink()
* - .toTagResource()
* - .toUntagResource()
* - .toUpdateLink()
* - .toUpdateLinkModuleFlow()
* - .toUpdateLinkRoutingRule()
*
* Applies to resource types:
* - Link
* - LinkRoutingRule
*
* @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`
*/
ifLinkLinkId(value, operator) {
return this.if(`LinkLinkId`, value, operator ?? 'StringLike');
}
/**
* Filters access by routing rule identifier supporting rule-* formats
*
* https://docs.aws.amazon.com/rtb-fabric/latest/userguide/security_iam_service-with-iam.html
*
* Applies to actions:
* - .toDeleteLinkRoutingRule()
* - .toGetLinkRoutingRule()
* - .toListTagsForResource()
* - .toTagResource()
* - .toUntagResource()
* - .toUpdateLinkRoutingRule()
*
* Applies to resource types:
* - LinkRoutingRule
*
* @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`
*/
ifLinkRoutingRuleRuleId(value, operator) {
return this.if(`LinkRoutingRuleRuleId`, value, operator ?? 'StringLike');
}
/**
* Filters access by OutboundExternalLink resource linkId identifier
*
* https://docs.aws.amazon.com/rtb-fabric/latest/userguide/security_iam_service-with-iam.html
*
* Applies to actions:
* - .toDeleteOutboundExternalLink()
* - .toGetOutboundExternalLink()
* - .toListTagsForResource()
* - .toTagResource()
* - .toUntagResource()
*
* Applies to resource types:
* - OutboundExternalLink
*
* @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`
*/
ifOutboundExternalLinkLinkId(value, operator) {
return this.if(`OutboundExternalLinkLinkId`, value, operator ?? 'StringLike');
}
/**
* Filters access by gateway identifier supporting rtb-gw-* formats
*
* https://docs.aws.amazon.com/rtb-fabric/latest/userguide/security_iam_service-with-iam.html
*
* Applies to actions:
* - .toAcceptLink()
* - .toCreateLinkRoutingRule()
* - .toCreateOutboundExternalLink()
* - .toDeleteLink()
* - .toDeleteLinkRoutingRule()
* - .toDeleteOutboundExternalLink()
* - .toDeleteRequesterGateway()
* - .toGetLink()
* - .toGetLinkRoutingRule()
* - .toGetOutboundExternalLink()
* - .toGetRequesterGateway()
* - .toListLinkRoutingRules()
* - .toListTagsForResource()
* - .toRejectLink()
* - .toTagResource()
* - .toUntagResource()
* - .toUpdateLink()
* - .toUpdateLinkModuleFlow()
* - .toUpdateLinkRoutingRule()
* - .toUpdateRequesterGateway()
*
* Applies to resource types:
* - Link
* - OutboundExternalLink
* - RequesterGateway
*
* @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`
*/
ifRequesterGatewayGatewayId(value, operator) {
return this.if(`RequesterGatewayGatewayId`, value, operator ?? 'StringLike');
}
/**
* Filters access by gateway identifier supporting rtb-gw-* formats
*
* https://docs.aws.amazon.com/rtb-fabric/latest/userguide/security_iam_service-with-iam.html
*
* Applies to actions:
* - .toAcceptLink()
* - .toAssociateCertificate()
* - .toCreateInboundExternalLink()
* - .toCreateLinkRoutingRule()
* - .toDeleteInboundExternalLink()
* - .toDeleteLink()
* - .toDeleteLinkRoutingRule()
* - .toDeleteResponderGateway()
* - .toDisassociateCertificate()
* - .toGetCertificateAssociation()
* - .toGetInboundExternalLink()
* - .toGetLink()
* - .toGetLinkRoutingRule()
* - .toGetResponderGateway()
* - .toListCertificateAssociations()
* - .toListLinkRoutingRules()
* - .toListTagsForResource()
* - .toRejectLink()
* - .toTagResource()
* - .toUntagResource()
* - .toUpdateLink()
* - .toUpdateLinkModuleFlow()
* - .toUpdateLinkRoutingRule()
* - .toUpdateResponderGateway()
*
* Applies to resource types:
* - InboundExternalLink
* - Link
* - ResponderGateway
*
* @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`
*/
ifResponderGatewayGatewayId(value, operator) {
return this.if(`ResponderGatewayGatewayId`, value, operator ?? 'StringLike');
}
/**
* Statement provider for service [rtbfabric](https://docs.aws.amazon.com/service-authorization/latest/reference/list_rtbfabric.html).
*
*/
constructor(props) {
super(props);
this.servicePrefix = 'rtbfabric';
this.accessLevelList = {
Write: [
'AcceptLink',
'AssociateCertificate',
'CreateInboundExternalLink',
'CreateLink',
'CreateLinkRoutingRule',
'CreateOutboundExternalLink',
'CreateRequesterGateway',
'CreateResponderGateway',
'DeleteInboundExternalLink',
'DeleteLink',
'DeleteLinkRoutingRule',
'DeleteOutboundExternalLink',
'DeleteRequesterGateway',
'DeleteResponderGateway',
'DisassociateCertificate',
'RejectLink',
'TagResource',
'UntagResource',
'UpdateLink',
'UpdateLinkModuleFlow',
'UpdateLinkRoutingRule',
'UpdateRequesterGateway',
'UpdateResponderGateway'
],
Read: [
'GetCertificateAssociation',
'GetInboundExternalLink',
'GetLink',
'GetLinkRoutingRule',
'GetOutboundExternalLink',
'GetRequesterGateway',
'GetResponderGateway',
'ListTagsForResource'
],
List: [
'ListCertificateAssociations',
'ListLinkRoutingRules',
'ListLinks',
'ListRequesterGateways',
'ListResponderGateways'
],
Tagging: [
'TagResource',
'UntagResource'
]
};
}
}
exports.Rtbfabric = Rtbfabric;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnRiZmFicmljLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsicnRiZmFicmljLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHlDQUF5RDtBQUd6RDs7OztHQUlHO0FBQ0gsTUFBYSxTQUFVLFNBQVEsd0JBQWU7SUFHNUM7Ozs7OztPQU1HO0lBQ0ksWUFBWTtRQUNqQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLHNCQUFzQjtRQUMzQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksMkJBQTJCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0ksWUFBWTtRQUNqQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLHVCQUF1QjtRQUM1QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksNEJBQTRCO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0ksd0JBQXdCO1FBQzdCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0ksd0JBQXdCO1FBQzdCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSwyQkFBMkI7UUFDaEMsT0FBTyxJQUFJLENBQUMsRUFB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QUEyQixFQUFFLEtBQUssRUFBRSxRQUFRLElBQUksWUFBWSxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVEOzs7T0FHRztJQUNILFlBQVksS0FBZ0M7UUFDMUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBeDJCUixrQkFBYSxHQUFHLFdBQVcsQ0FBQztRQTBaekIsb0JBQWUsR0FBb0I7WUFDM0MsS0FBSyxFQUFFO2dCQUNMLFlBQVk7Z0JBQ1osc0JBQXNCO2dCQUN0QiwyQkFBMkI7Z0JBQzNCLFlBQVk7Z0JBQ1osdUJBQXVCO2dCQUN2Qiw0QkFBNEI7Z0JBQzVCLHdCQUF3QjtnQkFDeEIsd0JBQXdCO2dCQUN4QiwyQkFBMkI7Z0JBQzNCLFlBQVk7Z0JBQ1osdUJBQXVCO2dCQUN2Qiw0QkFBNEI7Z0JBQzVCLHdCQUF3QjtnQkFDeEIsd0JBQXdCO2dCQUN4Qix5QkFBeUI7Z0JBQ3pCLFlBQVk7Z0JBQ1osYUFBYTtnQkFDYixlQUFlO2dCQUNmLFlBQVk7Z0JBQ1osc0JBQXNCO2dCQUN0Qix1QkFBdUI7Z0JBQ3ZCLHdCQUF3QjtnQkFDeEIsd0JBQXdCO2FBQ3pCO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLDJCQUEyQjtnQkFDM0Isd0JBQXdCO2dCQUN4QixTQUFTO2dCQUNULG9CQUFvQjtnQkFDcEIseUJBQXlCO2dCQUN6QixxQkFBcUI7Z0JBQ3JCLHFCQUFxQjtnQkFDckIscUJBQXFCO2FBQ3RCO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLDZCQUE2QjtnQkFDN0Isc0JBQXNCO2dCQUN0QixXQUFXO2dCQUNYLHVCQUF1QjtnQkFDdkIsdUJBQXVCO2FBQ3hCO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLGFBQWE7Z0JBQ2IsZUFBZTthQUNoQjtTQUNGLENBQUM7SUFnYUYsQ0FBQztDQUNGO0FBMzJCRCw4QkEyMkJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWNjZXNzTGV2ZWxMaXN0IH0gZnJvbSAnLi4vLi4vc2hhcmVkL2FjY2Vzcy1sZXZlbCc7XG5pbXBvcnQgeyBQb2xpY3lTdGF0ZW1lbnQsIE9wZXJhdG9yIH0gZnJvbSAnLi4vLi4vc2hhcmVkJztcbmltcG9ydCB7IGF3c19pYW0gYXMgaWFtIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5cbi8qKlxuICogU3RhdGVtZW50IHByb3ZpZGVyIGZvciBzZXJ2aWNlIFtydGJmYWJyaWNdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zZXJ2aWNlLWF1dGhvcml6YXRpb24vbGF0ZXN0L3JlZmVyZW5jZS9saXN0X3J0YmZhYnJpYy5odG1sKS5cbiAqXG4gKiBAcGFyYW0gc2lkIFtTSURdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9JQU0vbGF0ZXN0L1VzZXJHdWlkZS9yZWZlcmVuY2VfcG9saWNpZXNfZWxlbWVudHNfc2lkLmh0bWwpIG9mIHRoZSBzdGF0ZW1lbnRcbiAqL1xuZXhwb3J0IGNsYXNzIFJ0YmZhYnJpYyBleHRlbmRzIFBvbGljeVN0YXRlbWVudCB7XG4gIHB1YmxpYyBzZXJ2aWNlUHJlZml4ID0gJ3J0YmZhYnJpYyc7XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGFjY2VwdCBhIGxpbmsgaW52aXRhdGlvbiBmcm9tIGFub3RoZXIgR2F0ZXdheVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9ydGItZmFicmljL2xhdGVzdC9hcGkvQVBJX0FjY2VwdExpbmsuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvQWNjZXB0TGluaygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnQWNjZXB0TGluaycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGFzc29jaWF0ZSBhbiBBQ00gY2VydGlmaWNhdGUgd2l0aCBhIHJlc3BvbmRlciBnYXRld2F5XG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3J0Yi1mYWJyaWMvbGF0ZXN0L2FwaS9BUElfQXNzb2NpYXRlQ2VydGlmaWNhdGUuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvQXNzb2NpYXRlQ2VydGlmaWNhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0Fzc29jaWF0ZUNlcnRpZmljYXRlJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gY3JlYXRlIGFuIGluYm91bmQgZXh0ZXJuYWwgbGluayBmb3IgYSByZXNwb25kZXIgZ2F0ZXdheVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9ydGItZmFicmljL2xhdGVzdC9hcGkvQVBJX0NyZWF0ZUluYm91bmRFeHRlcm5hbExpbmsuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvQ3JlYXRlSW5ib3VuZEV4dGVybmFsTGluaygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnQ3JlYXRlSW5ib3VuZEV4dGVybmFsTGluaycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZSBhIG5ldyBsaW5rIGJldHdlZW4gUlRCIGFwcGxpY2F0aW9uc1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIFBvc3NpYmxlIGNvbmRpdGlvbnM6XG4gICAqIC0gLmlmQXdzUmVxdWVzdFRhZygpXG4gICAqIC0gLmlmQXdzVGFnS2V5cygpXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9ydGItZmFicmljL2xhdGVzdC9hcGkvQVBJX0NyZWF0ZUxpbmsuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvQ3JlYXRlTGluaygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnQ3JlYXRlTGluaycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZSBhIHJvdXRpbmcgcnVsZSBmb3IgYSBsaW5rXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3J0Yi1mYWJyaWMvbGF0ZXN0L2FwaS9BUElfQ3JlYXRlTGlua1JvdXRpbmdSdWxlLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0NyZWF0ZUxpbmtSb3V0aW5nUnVsZSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnQ3JlYXRlTGlua1JvdXRpbmdSdWxlJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gY3JlYXRlIGFuIG91dGJvdW5kIGV4dGVybmFsIGxpbmsgZm9yIGEgcmVxdWVzdGVyIGdhdGV3YXkgdG8gY29ubmVjdCB0byBleHRlcm5hbCBwdWJsaWMgcmVzcG9uZGVyIGVuZHBvaW50c1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9ydGItZmFicmljL2xhdGVzdC9hcGkvQVBJX0NyZWF0ZU91dGJvdW5kRXh0ZXJuYWxMaW5rLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0NyZWF0ZU91dGJvdW5kRXh0ZXJuYWxMaW5rKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdDcmVhdGVPdXRib3VuZEV4dGVybmFsTGluaycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZSBhIHJlcXVlc3RlciBnYXRld2F5XG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZBd3NSZXF1ZXN0VGFnKClcbiAgICogLSAuaWZBd3NUYWdLZXlzKClcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3J0Yi1mYWJyaWMvbGF0ZXN0L2FwaS9BUElfQ3JlYXRlUmVxdWVzdGVyR2F0ZXdheS5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9DcmVhdGVSZXF1ZXN0ZXJHYXRld2F5KCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdDcmVhdGVSZXF1ZXN0ZXJHYXRld2F5Jyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gY3JlYXRlIGEgcmVzcG9uZGVyIGdhdGV3YXlcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZkF3c1JlcXVlc3RUYWcoKVxuICAgKiAtIC5pZkF3c1RhZ0tleXMoKVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vcnRiLWZhYnJpYy9sYXRlc3QvYXBpL0FQSV9DcmVhdGVSZXNwb25kZXJHYXRld2F5Lmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0NyZWF0ZVJlc3BvbmRlckdhdGV3YXkoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0NyZWF0ZVJlc3BvbmRlckdhdGV3YXknKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZWxldGUgYW4gaW5ib3VuZCBleHRlcm5hbCBsaW5rXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3J0Yi1mYWJyaWMvbGF0ZXN0L2FwaS9BUElfRGVsZXRlSW5ib3VuZEV4dGVybmFsTGluay5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZWxldGVJbmJvdW5kRXh0ZXJuYWxMaW5rKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZWxldGVJbmJvdW5kRXh0ZXJuYWxMaW5rJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVsZXRlIGEgbGluayBiZXR3ZWVuIFJUQiBhcHBsaWNhdGlvbnNcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vcnRiLWZhYnJpYy9sYXRlc3QvYXBpL0FQSV9EZWxldGVMaW5rLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0RlbGV0ZUxpbmsoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0RlbGV0ZUxpbmsnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZWxldGUgYSByb3V0aW5nIHJ1bGUgZnJvbSBhIGxpbmtcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vcnRiLWZhYnJpYy9sYXRlc3QvYXBpL0FQSV9EZWxldGVMaW5rUm91dGluZ1J1bGUuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGVsZXRlTGlua1JvdXRpbmdSdWxlKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZWxldGVMaW5rUm91dGluZ1J1bGUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZWxldGUgYW4gb3V0Ym91bmQgZXh0ZXJuYWwgbGlua1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9ydGItZmFicmljL2xhdGVzdC9hcGkvQVBJX0RlbGV0ZU91dGJvdW5kRXh0ZXJuYWxMaW5rLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0RlbGV0ZU91dGJvdW5kRXh0ZXJuYWxMaW5rKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZWxldGVPdXRib3VuZEV4dGVybmFsTGluaycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlbGV0ZSBhIHJlcXVlc3RlciBnYXRld2F5XG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3J0Yi1mYWJyaWMvbGF0ZXN0L2FwaS9BUElfRGVsZXRlUmVxdWVzdGVyR2F0ZXdheS5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZWxldGVSZXF1ZXN0ZXJHYXRld2F5KCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZWxldGVSZXF1ZXN0ZXJHYXRld2F5Jyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVsZXRlIGEgcmVzcG9uZGVyIGdhdGV3YXlcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vcnRiLWZhYnJpYy9sYXRlc3QvYXBpL0FQSV9EZWxldGVSZXNwb25kZXJHYXRld2F5Lmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0RlbGV0ZVJlc3BvbmRlckdhdGV3YXkoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0RlbGV0ZVJlc3BvbmRlckdhdGV3YXknKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZW1vdmUgYSBjZXJ0aWZpY2F0ZSBhc3NvY2lhdGlvbiBmcm9tIGEgcmVzcG9uZGVyIGdhdGV3YXlcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vcnRiLWZhYnJpYy9sYXRlc3QvYXBpL0FQSV9EaXNhc3NvY2lhdGVDZXJ0aWZpY2F0ZS5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EaXNhc3NvY2lhdGVDZXJ0aWZpY2F0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGlzYXNzb2NpYXRlQ2VydGlmaWNhdGUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXRyaWV2ZSBkZXRhaWxzIG9mIGEgY2VydGlmaWNhdGUgYXNzb2NpYXRpb24gd2l0aCBhIHJlc3BvbmRlciBnYXRld2F5XG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vcnRiLWZhYnJpYy9sYXRlc3QvYXBpL0FQSV9HZXRDZXJ0aWZpY2F0ZUFzc29jaWF0aW9uLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0dldENlcnRpZmljYXRlQXNzb2NpYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0dldENlcnRpZmljYXRlQXNzb2NpYXRpb24nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXRyaWV2ZSBpbmZvcm1hdGlvbiBhYm91dCBhbiBpbmJvdW5kIGV4dGVybmFsIGxpbmtcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9ydGItZmFicmljL2xhdGVzdC9hcGkvQVBJX0dldEluYm91bmRFeHRlcm5hbExpbmsuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvR2V0SW5ib3VuZEV4dGVybmFsTGluaygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnR2V0SW5ib3VuZEV4dGVybmFsTGluaycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJldHJpZXZlIGluZm9ybWF0aW9uIGFib3V0IGEgbGluayBiZXR3ZWVuIFJUQiBhcHBsaWNhdGlvbnNcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9ydGItZmFicmljL2xhdGVzdC9hcGkvQVBJX0dldExpbmsuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvR2V0TGluaygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnR2V0TGluaycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJldHJpZXZlIGluZm9ybWF0aW9uIGFib3V0IGEgcm91dGluZyBydWxlIGZvciBhIGxpbmtcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9ydGItZmFicmljL2xhdGVzdC9hcGkvQVBJX0dldExpbmtSb3V0aW5nUnVsZS5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9HZXRMaW5rUm91dGluZ1J1bGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0dldExpbmtSb3V0aW5nUnVsZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJldHJpZXZlIGluZm9ybWF0aW9uIGFib3V0IGFuIG91dGJvdW5kIGV4dGVybmFsIGxpbmtcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9ydGItZmFicmljL2xhdGVzdC9hcGkvQVBJX0dldE91dGJvdW5kRXh0ZXJuYWxMaW5rLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0dldE91dGJvdW5kRXh0ZXJuYWxMaW5rKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdHZXRPdXRib3VuZEV4dGVybmFsTGluaycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJldHJpZXZlIGluZm9ybWF0aW9uIGFib3V0IGEgcmVxdWVzdGVyIGdhdGV3YXlcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9ydGItZmFicmljL2xhdGVzdC9hcGkvQVBJX0dldFJlcXVlc3RlckdhdGV3YXkuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvR2V0UmVxdWVzdGVyR2F0ZXdheSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnR2V0UmVxdWVzdGVyR2F0ZXdheScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50