cdk-iam-floyd 0.601.0 → 0.601.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/collection/allowEc2InstanceDeleteByOwner.js +24 -0
- package/lib/collection/index.js +11 -0
- package/lib/generated/accountmanagement.js +269 -0
- package/lib/generated/activate.js +99 -0
- package/lib/generated/alexaforbusiness.js +1390 -0
- package/lib/generated/amplify.js +592 -0
- package/lib/generated/amplifyadmin.js +494 -0
- package/lib/generated/amplifyuibuilder.js +690 -0
- package/lib/generated/apachekafkaapisforamazonmskclusters.js +382 -0
- package/lib/generated/apigateway.js +72 -0
- package/lib/generated/apigatewaymanagement.js +1252 -0
- package/lib/generated/apigatewaymanagementv2.js +975 -0
- package/lib/generated/app2container.js +71 -0
- package/lib/generated/appconfig.js +849 -0
- package/lib/generated/appfabric.js +492 -0
- package/lib/generated/appflow.js +492 -0
- package/lib/generated/appintegrations.js +613 -0
- package/lib/generated/applicationautoscaling.js +309 -0
- package/lib/generated/applicationcostprofilerservice.js +93 -0
- package/lib/generated/applicationdiscoveryarsenal.js +36 -0
- package/lib/generated/applicationdiscoveryservice.js +381 -0
- package/lib/generated/applicationmigrationservice.js +1579 -0
- package/lib/generated/applicationtransformationservice.js +181 -0
- package/lib/generated/appmesh.js +664 -0
- package/lib/generated/appmeshpreview.js +524 -0
- package/lib/generated/apprunner.js +793 -0
- package/lib/generated/appstream2-0.js +1230 -0
- package/lib/generated/appsync.js +1012 -0
- package/lib/generated/artifact.js +207 -0
- package/lib/generated/athena.js +1020 -0
- package/lib/generated/auditmanager.js +857 -0
- package/lib/generated/autoscaling.js +93 -0
- package/lib/generated/b2bdatainterchange.js +471 -0
- package/lib/generated/backup.js +1428 -0
- package/lib/generated/backupgateway.js +443 -0
- package/lib/generated/backupstorage.js +190 -0
- package/lib/generated/batch.js +684 -0
- package/lib/generated/bedrock.js +1232 -0
- package/lib/generated/billing.js +170 -0
- package/lib/generated/billingandcostmanagementdataexports.js +280 -0
- package/lib/generated/billingconductor.js +528 -0
- package/lib/generated/billingconsole.js +126 -0
- package/lib/generated/braket.js +313 -0
- package/lib/generated/budgetservice.js +168 -0
- package/lib/generated/bugbust.js +374 -0
- package/lib/generated/certificatemanager.js +353 -0
- package/lib/generated/chatbot.js +348 -0
- package/lib/generated/chime.js +3898 -0
- package/lib/generated/cleanrooms.js +988 -0
- package/lib/generated/cleanroomsml.js +562 -0
- package/lib/generated/cloud9.js +578 -0
- package/lib/generated/cloudcontrolapi.js +115 -0
- package/lib/generated/clouddirectory.js +812 -0
- package/lib/generated/cloudformation.js +1334 -0
- package/lib/generated/cloudfront.js +1533 -0
- package/lib/generated/cloudfrontkeyvaluestore.js +107 -0
- package/lib/generated/cloudhsm.js +524 -0
- package/lib/generated/cloudmap.js +527 -0
- package/lib/generated/cloudsearch.js +398 -0
- package/lib/generated/cloudshell.js +139 -0
- package/lib/generated/cloudtrail.js +778 -0
- package/lib/generated/cloudtraildata.js +90 -0
- package/lib/generated/cloudwatch.js +871 -0
- package/lib/generated/cloudwatchapplicationinsights.js +454 -0
- package/lib/generated/cloudwatchevidently.js +624 -0
- package/lib/generated/cloudwatchinternetmonitor.js +273 -0
- package/lib/generated/cloudwatchlogs.js +1188 -0
- package/lib/generated/cloudwatchnetworkmonitor.js +240 -0
- package/lib/generated/cloudwatchobservabilityaccessmanager.js +348 -0
- package/lib/generated/cloudwatchrum.js +300 -0
- package/lib/generated/cloudwatchsynthetics.js +456 -0
- package/lib/generated/codeartifact.js +599 -0
- package/lib/generated/codebuild.js +840 -0
- package/lib/generated/codecatalyst.js +518 -0
- package/lib/generated/codecommit.js +1170 -0
- package/lib/generated/codedeploy.js +671 -0
- package/lib/generated/codedeploysecurehostcommandsservice.js +71 -0
- package/lib/generated/codeguru.js +36 -0
- package/lib/generated/codeguruprofiler.js +360 -0
- package/lib/generated/codegurureviewer.js +364 -0
- package/lib/generated/codegurusecurity.js +276 -0
- package/lib/generated/codepipeline.js +620 -0
- package/lib/generated/codestar.js +364 -0
- package/lib/generated/codestarconnections.js +805 -0
- package/lib/generated/codestarnotifications.js +339 -0
- package/lib/generated/codewhisperer.js +376 -0
- package/lib/generated/cognitoidentity.js +391 -0
- package/lib/generated/cognitosync.js +276 -0
- package/lib/generated/cognitouserpools.js +1299 -0
- package/lib/generated/comprehend.js +1521 -0
- package/lib/generated/comprehendmedical.js +313 -0
- package/lib/generated/computeoptimizer.js +374 -0
- package/lib/generated/config.js +1287 -0
- package/lib/generated/connect.js +4832 -0
- package/lib/generated/connectcases.js +556 -0
- package/lib/generated/connectcustomerprofiles.js +795 -0
- package/lib/generated/connectorservice.js +60 -0
- package/lib/generated/connectvoiceid.js +446 -0
- package/lib/generated/consolemobileapp.js +62 -0
- package/lib/generated/consolidatedbilling.js +49 -0
- package/lib/generated/controltower.js +717 -0
- package/lib/generated/costandusagereport.js +233 -0
- package/lib/generated/costexplorerservice.js +759 -0
- package/lib/generated/costoptimizationhub.js +112 -0
- package/lib/generated/customerverificationservice.js +71 -0
- package/lib/generated/databasemigrationservice.js +2533 -0
- package/lib/generated/databasequerymetadataservice.js +170 -0
- package/lib/generated/dataexchange.js +590 -0
- package/lib/generated/datalifecyclemanager.js +193 -0
- package/lib/generated/datapipeline.js +470 -0
- package/lib/generated/datasync.js +958 -0
- package/lib/generated/datazone.js +1214 -0
- package/lib/generated/deepcomposer.js +357 -0
- package/lib/generated/deeplens.js +280 -0
- package/lib/generated/deepracer.js +1057 -0
- package/lib/generated/detective.js +532 -0
- package/lib/generated/devicefarm.js +1220 -0
- package/lib/generated/devopsguru.js +412 -0
- package/lib/generated/diagnostictools.js +225 -0
- package/lib/generated/directconnect.js +898 -0
- package/lib/generated/directoryservice.js +1036 -0
- package/lib/generated/documentdbelasticclusters.js +412 -0
- package/lib/generated/dynamodb.js +1098 -0
- package/lib/generated/dynamodbacceleratordax.js +415 -0
- package/lib/generated/ec2.js +16709 -0
- package/lib/generated/ec2autoscaling.js +1216 -0
- package/lib/generated/ec2imagebuilder.js +1362 -0
- package/lib/generated/ec2instanceconnect.js +186 -0
- package/lib/generated/eksauth.js +67 -0
- package/lib/generated/elasticache.js +2037 -0
- package/lib/generated/elasticbeanstalk.js +937 -0
- package/lib/generated/elasticblockstore.js +245 -0
- package/lib/generated/elasticcontainerregistry.js +667 -0
- package/lib/generated/elasticcontainerregistrypublic.js +390 -0
- package/lib/generated/elasticcontainerservice.js +1370 -0
- package/lib/generated/elasticdisasterrecovery.js +1422 -0
- package/lib/generated/elasticfilesystem.js +608 -0
- package/lib/generated/elasticinference.js +105 -0
- package/lib/generated/elastickubernetesservice.js +1114 -0
- package/lib/generated/elasticloadbalancing.js +673 -0
- package/lib/generated/elasticloadbalancingv2.js +1064 -0
- package/lib/generated/elasticmapreduce.js +1137 -0
- package/lib/generated/elastictranscoder.js +255 -0
- package/lib/generated/elementalappliancesandsoftware.js +292 -0
- package/lib/generated/elementalappliancesandsoftwareactivationservice.js +211 -0
- package/lib/generated/elementalmediaconnect.js +724 -0
- package/lib/generated/elementalmediaconvert.js +537 -0
- package/lib/generated/elementalmedialive.js +939 -0
- package/lib/generated/elementalmediapackage.js +361 -0
- package/lib/generated/elementalmediapackagev2.js +451 -0
- package/lib/generated/elementalmediapackagevod.js +341 -0
- package/lib/generated/elementalmediastore.js +424 -0
- package/lib/generated/elementalmediatailor.js +715 -0
- package/lib/generated/elementalsupportcases.js +82 -0
- package/lib/generated/elementalsupportcontent.js +36 -0
- package/lib/generated/emroneksemrcontainers.js +428 -0
- package/lib/generated/emrserverless.js +311 -0
- package/lib/generated/entityresolution.js +464 -0
- package/lib/generated/eventbridge.js +1071 -0
- package/lib/generated/eventbridgepipes.js +253 -0
- package/lib/generated/eventbridgescheduler.js +294 -0
- package/lib/generated/eventbridgeschemas.js +493 -0
- package/lib/generated/faultinjectionservice.js +547 -0
- package/lib/generated/finspace.js +941 -0
- package/lib/generated/finspaceapi.js +48 -0
- package/lib/generated/firewallmanager.js +646 -0
- package/lib/generated/forecast.js +1201 -0
- package/lib/generated/frauddetector.js +1266 -0
- package/lib/generated/freertos.js +336 -0
- package/lib/generated/freetier.js +60 -0
- package/lib/generated/fsx.js +1031 -0
- package/lib/generated/gamelift.js +1503 -0
- package/lib/generated/globalaccelerator.js +789 -0
- package/lib/generated/glue.js +3053 -0
- package/lib/generated/gluedatabrew.js +708 -0
- package/lib/generated/groundstation.js +741 -0
- package/lib/generated/groundtruthlabeling.js +82 -0
- package/lib/generated/guardduty.js +981 -0
- package/lib/generated/healthapisandnotifications.js +261 -0
- package/lib/generated/healthimaging.js +325 -0
- package/lib/generated/healthlake.js +329 -0
- package/lib/generated/healthomics.js +1312 -0
- package/lib/generated/high-volumeoutboundcommunications.js +371 -0
- package/lib/generated/honeycode.js +419 -0
- package/lib/generated/iamaccessanalyzer.js +472 -0
- package/lib/generated/iamidentitycenteroidcservice.js +49 -0
- package/lib/generated/iamidentitycentersuccessortoawssinglesign-on.js +1730 -0
- package/lib/generated/iamidentitycentersuccessortoawssinglesign-ondirectory.js +599 -0
- package/lib/generated/identityandaccessmanagementiam.js +2523 -0
- package/lib/generated/identityandaccessmanagementrolesanywhere.js +487 -0
- package/lib/generated/identitystore.js +327 -0
- package/lib/generated/identitystoreauth.js +62 -0
- package/lib/generated/identitysync.js +194 -0
- package/lib/generated/importexportdiskservice.js +95 -0
- package/lib/generated/index.js +820 -0
- package/lib/generated/inspector.js +438 -0
- package/lib/generated/inspector2.js +814 -0
- package/lib/generated/inspectorscan.js +36 -0
- package/lib/generated/interactivevideoservice.js +950 -0
- package/lib/generated/interactivevideoservicechat.js +327 -0
- package/lib/generated/invoicingservice.js +71 -0
- package/lib/generated/iot.js +3849 -0
- package/lib/generated/iot1-click.js +414 -0
- package/lib/generated/iotanalytics.js +570 -0
- package/lib/generated/iotcoredeviceadvisor.js +283 -0
- package/lib/generated/iotdevicetester.js +82 -0
- package/lib/generated/iotevents.js +591 -0
- package/lib/generated/iotfleethubfordevicemanagement.js +200 -0
- package/lib/generated/iotfleetwise.js +868 -0
- package/lib/generated/iotgreengrass.js +1499 -0
- package/lib/generated/iotgreengrassv2.js +561 -0
- package/lib/generated/iotjobsdataplane.js +105 -0
- package/lib/generated/iotroborunner.js +374 -0
- package/lib/generated/iotsitewise.js +1331 -0
- package/lib/generated/iottwinmaker.js +708 -0
- package/lib/generated/iotwireless.js +1587 -0
- package/lib/generated/iq.js +895 -0
- package/lib/generated/iqpermissions.js +138 -0
- package/lib/generated/kendra.js +979 -0
- package/lib/generated/kendraintelligentranking.js +204 -0
- package/lib/generated/keymanagementservice.js +1573 -0
- package/lib/generated/keyspacesforapachecassandra.js +352 -0
- package/lib/generated/kinesisanalytics.js +292 -0
- package/lib/generated/kinesisanalyticsv2.js +446 -0
- package/lib/generated/kinesisdatastreams.js +425 -0
- package/lib/generated/kinesisfirehose.js +237 -0
- package/lib/generated/kinesisvideostreams.js +613 -0
- package/lib/generated/lakeformation.js +618 -0
- package/lib/generated/lambda.js +1167 -0
- package/lib/generated/launchwizard.js +392 -0
- package/lib/generated/lex.js +746 -0
- package/lib/generated/lexv2.js +1367 -0
- package/lib/generated/licensemanager.js +700 -0
- package/lib/generated/licensemanagerlinuxsubscriptionsmanager.js +71 -0
- package/lib/generated/licensemanagerusersubscriptions.js +148 -0
- package/lib/generated/lightsail.js +2256 -0
- package/lib/generated/location.js +930 -0
- package/lib/generated/lookoutforequipment.js +762 -0
- package/lib/generated/lookoutformetrics.js +486 -0
- package/lib/generated/lookoutforvision.js +394 -0
- package/lib/generated/machinelearning.js +391 -0
- package/lib/generated/macie.js +1078 -0
- package/lib/generated/mainframemodernizationservice.js +534 -0
- package/lib/generated/managedblockchain.js +603 -0
- package/lib/generated/managedblockchainquery.js +99 -0
- package/lib/generated/managedgrafana.js +340 -0
- package/lib/generated/managedserviceforprometheus.js +796 -0
- package/lib/generated/managedstreamingforapachekafka.js +879 -0
- package/lib/generated/managedstreamingforkafkaconnect.js +227 -0
- package/lib/generated/managedworkflowsforapacheairflow.js +258 -0
- package/lib/generated/marketplace.js +260 -0
- package/lib/generated/marketplacecatalog.js +339 -0
- package/lib/generated/marketplacecommerceanalyticsservice.js +43 -0
- package/lib/generated/marketplacedeploymentservice.js +172 -0
- package/lib/generated/marketplacediscovery.js +36 -0
- package/lib/generated/marketplaceentitlementservice.js +34 -0
- package/lib/generated/marketplaceimagebuildingservice.js +60 -0
- package/lib/generated/marketplacemanagementportal.js +172 -0
- package/lib/generated/marketplacemeteringservice.js +69 -0
- package/lib/generated/marketplaceprivatemarketplace.js +82 -0
- package/lib/generated/marketplaceprocurementsystemsintegration.js +49 -0
- package/lib/generated/marketplacesellerreporting.js +50 -0
- package/lib/generated/marketplacevendorinsights.js +478 -0
- package/lib/generated/mechanicalturk.js +458 -0
- package/lib/generated/mediaimport.js +36 -0
- package/lib/generated/memorydb.js +864 -0
- package/lib/generated/messagedeliveryservice.js +131 -0
- package/lib/generated/microserviceextractorfor-net.js +36 -0
- package/lib/generated/migrationaccelerationprogramcredits.js +70 -0
- package/lib/generated/migrationhub.js +287 -0
- package/lib/generated/migrationhuborchestrator.js +448 -0
- package/lib/generated/migrationhubrefactorspaces.js +670 -0
- package/lib/generated/migrationhubstrategyrecommendations.js +348 -0
- package/lib/generated/mobileanalytics.js +56 -0
- package/lib/generated/monitron.js +373 -0
- package/lib/generated/mq.js +415 -0
- package/lib/generated/neptune.js +439 -0
- package/lib/generated/neptuneanalytics.js +622 -0
- package/lib/generated/networkfirewall.js +593 -0
- package/lib/generated/networkmanager.js +1381 -0
- package/lib/generated/networkmanagerchat.js +104 -0
- package/lib/generated/nimblestudio.js +1052 -0
- package/lib/generated/oneenterprise.js +545 -0
- package/lib/generated/opensearchingestion.js +303 -0
- package/lib/generated/opensearchserverless.js +633 -0
- package/lib/generated/opensearchservice.js +1208 -0
- package/lib/generated/opsworks.js +860 -0
- package/lib/generated/opsworksconfigurationmanagement.js +261 -0
- package/lib/generated/organizations.js +945 -0
- package/lib/generated/outposts.js +436 -0
- package/lib/generated/panorama.js +547 -0
- package/lib/generated/partnercentralaccountmanagement.js +58 -0
- package/lib/generated/paymentcryptography.js +565 -0
- package/lib/generated/payments.js +106 -0
- package/lib/generated/performanceinsights.js +258 -0
- package/lib/generated/personalize.js +1121 -0
- package/lib/generated/pinpoint.js +1975 -0
- package/lib/generated/pinpointemailservice.js +907 -0
- package/lib/generated/pinpointsmsandvoiceservice.js +121 -0
- package/lib/generated/pinpointsmsvoicev2.js +1065 -0
- package/lib/generated/polly.js +144 -0
- package/lib/generated/pricelist.js +80 -0
- package/lib/generated/privatecaconnectorforactivedirectory.js +481 -0
- package/lib/generated/privatecertificateauthority.js +377 -0
- package/lib/generated/proton.js +1737 -0
- package/lib/generated/purchaseordersconsole.js +300 -0
- package/lib/generated/q.js +93 -0
- package/lib/generated/qbusiness.js +775 -0
- package/lib/generated/qinconnect.js +718 -0
- package/lib/generated/qldb.js +578 -0
- package/lib/generated/quicksight.js +2969 -0
- package/lib/generated/rds.js +3261 -0
- package/lib/generated/rdsdataapi.js +183 -0
- package/lib/generated/rdsiamauthentication.js +50 -0
- package/lib/generated/re-postprivate.js +228 -0
- package/lib/generated/recyclebin.js +291 -0
- package/lib/generated/redshift.js +2281 -0
- package/lib/generated/redshiftdataapi.js +216 -0
- package/lib/generated/redshiftserverless.js +883 -0
- package/lib/generated/rekognition.js +1024 -0
- package/lib/generated/resiliencehub.js +814 -0
- package/lib/generated/resourceaccessmanagerram.js +836 -0
- package/lib/generated/resourceexplorer.js +363 -0
- package/lib/generated/resourcegroups.js +346 -0
- package/lib/generated/resourcegrouptaggingapi.js +117 -0
- package/lib/generated/rhelknowledgebaseportal.js +36 -0
- package/lib/generated/robomaker.js +999 -0
- package/lib/generated/route53.js +959 -0
- package/lib/generated/route53applicationrecoverycontroller-zonalshift.js +278 -0
- package/lib/generated/route53domains.js +405 -0
- package/lib/generated/route53recoverycluster.js +104 -0
- package/lib/generated/route53recoverycontrols.js +439 -0
- package/lib/generated/route53recoveryreadiness.js +538 -0
- package/lib/generated/route53resolver.js +1109 -0
- package/lib/generated/s3.js +5348 -0
- package/lib/generated/s3express.js +313 -0
- package/lib/generated/s3glacier.js +474 -0
- package/lib/generated/s3objectlambda.js +606 -0
- package/lib/generated/s3onoutposts.js +1504 -0
- package/lib/generated/sagemaker.js +6517 -0
- package/lib/generated/sagemakergeospatialcapabilities.js +415 -0
- package/lib/generated/sagemakergroundtruthsynthetic.js +137 -0
- package/lib/generated/savingsplans.js +217 -0
- package/lib/generated/secretsmanager.js +860 -0
- package/lib/generated/securityhub.js +1202 -0
- package/lib/generated/securitylake.js +679 -0
- package/lib/generated/securitytokenservice.js +1079 -0
- package/lib/generated/serverlessapplicationrepository.js +244 -0
- package/lib/generated/servermigrationservice.js +432 -0
- package/lib/generated/servicecatalog.js +1673 -0
- package/lib/generated/serviceprovidingmanagedprivatenetworks.js +507 -0
- package/lib/generated/servicequotas.js +324 -0
- package/lib/generated/ses.js +1255 -0
- package/lib/generated/sessionmanagermessagegatewayservice.js +101 -0
- package/lib/generated/shield.js +588 -0
- package/lib/generated/signer.js +368 -0
- package/lib/generated/simpledb.js +152 -0
- package/lib/generated/simpleemailservicev2.js +1789 -0
- package/lib/generated/simpleworkflowservice.js +991 -0
- package/lib/generated/simspaceweaver.js +281 -0
- package/lib/generated/snowball.js +326 -0
- package/lib/generated/snowdevicemanagement.js +273 -0
- package/lib/generated/sns.js +604 -0
- package/lib/generated/sqlworkbench.js +1016 -0
- package/lib/generated/sqs.js +327 -0
- package/lib/generated/stepfunctions.js +743 -0
- package/lib/generated/storagegateway.js +1303 -0
- package/lib/generated/supplychain.js +272 -0
- package/lib/generated/support.js +302 -0
- package/lib/generated/supportappinslack.js +170 -0
- package/lib/generated/supportplans.js +71 -0
- package/lib/generated/sustainability.js +36 -0
- package/lib/generated/systemsmanager.js +2418 -0
- package/lib/generated/systemsmanagerforsap.js +375 -0
- package/lib/generated/systemsmanagerguiconnect.js +60 -0
- package/lib/generated/systemsmanagerincidentmanager.js +504 -0
- package/lib/generated/systemsmanagerincidentmanagercontacts.js +618 -0
- package/lib/generated/tageditor.js +63 -0
- package/lib/generated/taxsettings.js +170 -0
- package/lib/generated/telconetworkbuilder.js +624 -0
- package/lib/generated/textract.js +426 -0
- package/lib/generated/timestream.js +647 -0
- package/lib/generated/tiros.js +82 -0
- package/lib/generated/transcribe.js +916 -0
- package/lib/generated/transferfamily.js +947 -0
- package/lib/generated/translate.js +337 -0
- package/lib/generated/trustedadvisor.js +604 -0
- package/lib/generated/usernotifications.js +362 -0
- package/lib/generated/usernotificationscontacts.js +203 -0
- package/lib/generated/verifiedaccess.js +36 -0
- package/lib/generated/verifiedpermissions.js +305 -0
- package/lib/generated/vpclattice.js +1186 -0
- package/lib/generated/vpclatticeservices.js +170 -0
- package/lib/generated/waf.js +1121 -0
- package/lib/generated/wafregional.js +1191 -0
- package/lib/generated/wafv2.js +963 -0
- package/lib/generated/well-architectedtool.js +966 -0
- package/lib/generated/wickr.js +178 -0
- package/lib/generated/workdocs.js +678 -0
- package/lib/generated/worklink.js +490 -0
- package/lib/generated/workmail.js +1592 -0
- package/lib/generated/workmailmessageflow.js +64 -0
- package/lib/generated/workspaces.js +1140 -0
- package/lib/generated/workspacesapplicationmanager.js +36 -0
- package/lib/generated/workspacesthinclient.js +311 -0
- package/lib/generated/workspacesweb.js +935 -0
- package/lib/generated/x-ray.js +516 -0
- package/lib/index.js +20 -0
- package/lib/shared/access-level.js +46 -0
- package/lib/shared/all.js +20 -0
- package/lib/shared/index.js +20 -0
- package/lib/shared/operators.js +247 -0
- package/lib/shared/policy-statement/1-base.js +25 -0
- package/lib/shared/policy-statement/2-conditions.js +777 -0
- package/lib/shared/policy-statement/3-actions.js +288 -0
- package/lib/shared/policy-statement/4-resources.js +112 -0
- package/lib/shared/policy-statement/5-effect.js +45 -0
- package/lib/shared/policy-statement/6-principals.js +207 -0
- package/lib/shared/policy-statement/7-principals-CDK.js +67 -0
- package/lib/shared/policy-statement/9-final.js +11 -0
- package/lib/shared/policy-statement/index.js +20 -0
- package/package.json +2 -2
- package/tsconfig.test-cdk-iam-floyd.json +0 -5
- package/tsconfig.test-iam-floyd.json +0 -5
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.allowEc2InstanceDeleteByOwner = void 0;
|
|
4
|
+
const statement = require("..");
|
|
5
|
+
/**
|
|
6
|
+
* Allows stopping EC2 instance only for the user who started them
|
|
7
|
+
*
|
|
8
|
+
* @param tag The tag name, where the user information will be stored - default: `Owner`
|
|
9
|
+
*/
|
|
10
|
+
function allowEc2InstanceDeleteByOwner(tag) {
|
|
11
|
+
const tagName = tag || 'Owner';
|
|
12
|
+
return [
|
|
13
|
+
new statement.Ec2()
|
|
14
|
+
.allow()
|
|
15
|
+
.toStartInstances()
|
|
16
|
+
.ifAwsRequestTag(tagName, '${aws:username}'),
|
|
17
|
+
new statement.Ec2()
|
|
18
|
+
.allow()
|
|
19
|
+
.toStopInstances()
|
|
20
|
+
.ifResourceTag(tagName, '${aws:username}'),
|
|
21
|
+
];
|
|
22
|
+
}
|
|
23
|
+
exports.allowEc2InstanceDeleteByOwner = allowEc2InstanceDeleteByOwner;
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxsb3dFYzJJbnN0YW5jZURlbGV0ZUJ5T3duZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJhbGxvd0VjMkluc3RhbmNlRGVsZXRlQnlPd25lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxnQ0FBZ0M7QUFFaEM7Ozs7R0FJRztBQUVILFNBQWdCLDZCQUE2QixDQUFDLEdBQVk7SUFDeEQsTUFBTSxPQUFPLEdBQUcsR0FBRyxJQUFJLE9BQU8sQ0FBQztJQUMvQixPQUFPO1FBQ0wsSUFBSSxTQUFTLENBQUMsR0FBRyxFQUFFO2FBQ2hCLEtBQUssRUFBRTthQUNQLGdCQUFnQixFQUFFO2FBQ2xCLGVBQWUsQ0FBQyxPQUFPLEVBQUUsaUJBQWlCLENBQUM7UUFDOUMsSUFBSSxTQUFTLENBQUMsR0FBRyxFQUFFO2FBQ2hCLEtBQUssRUFBRTthQUNQLGVBQWUsRUFBRTthQUNqQixhQUFhLENBQUMsT0FBTyxFQUFFLGlCQUFpQixDQUFDO0tBQzdDLENBQUM7QUFDSixDQUFDO0FBWkQsc0VBWUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBzdGF0ZW1lbnQgZnJvbSAnLi4nO1xuXG4vKipcbiAqIEFsbG93cyBzdG9wcGluZyBFQzIgaW5zdGFuY2Ugb25seSBmb3IgdGhlIHVzZXIgd2hvIHN0YXJ0ZWQgdGhlbVxuICpcbiAqIEBwYXJhbSB0YWcgVGhlIHRhZyBuYW1lLCB3aGVyZSB0aGUgdXNlciBpbmZvcm1hdGlvbiB3aWxsIGJlIHN0b3JlZCAtIGRlZmF1bHQ6IGBPd25lcmBcbiAqL1xuXG5leHBvcnQgZnVuY3Rpb24gYWxsb3dFYzJJbnN0YW5jZURlbGV0ZUJ5T3duZXIodGFnPzogc3RyaW5nKSB7XG4gIGNvbnN0IHRhZ05hbWUgPSB0YWcgfHwgJ093bmVyJztcbiAgcmV0dXJuIFtcbiAgICBuZXcgc3RhdGVtZW50LkVjMigpXG4gICAgICAuYWxsb3coKVxuICAgICAgLnRvU3RhcnRJbnN0YW5jZXMoKVxuICAgICAgLmlmQXdzUmVxdWVzdFRhZyh0YWdOYW1lLCAnJHthd3M6dXNlcm5hbWV9JyksXG4gICAgbmV3IHN0YXRlbWVudC5FYzIoKVxuICAgICAgLmFsbG93KClcbiAgICAgIC50b1N0b3BJbnN0YW5jZXMoKVxuICAgICAgLmlmUmVzb3VyY2VUYWcodGFnTmFtZSwgJyR7YXdzOnVzZXJuYW1lfScpLFxuICBdO1xufVxuIl19
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Collection = void 0;
|
|
4
|
+
const allowEc2InstanceDeleteByOwner_1 = require("./allowEc2InstanceDeleteByOwner");
|
|
5
|
+
class Collection {
|
|
6
|
+
allowEc2InstanceDeleteByOwner() {
|
|
7
|
+
return (0, allowEc2InstanceDeleteByOwner_1.allowEc2InstanceDeleteByOwner)();
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.Collection = Collection;
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtRkFBZ0Y7QUFFaEYsTUFBYSxVQUFVO0lBQ2QsNkJBQTZCO1FBQ2xDLE9BQU8sSUFBQSw2REFBNkIsR0FBRSxDQUFDO0lBQ3pDLENBQUM7Q0FDRjtBQUpELGdDQUlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWxsb3dFYzJJbnN0YW5jZURlbGV0ZUJ5T3duZXIgfSBmcm9tICcuL2FsbG93RWMySW5zdGFuY2VEZWxldGVCeU93bmVyJztcblxuZXhwb3J0IGNsYXNzIENvbGxlY3Rpb24ge1xuICBwdWJsaWMgYWxsb3dFYzJJbnN0YW5jZURlbGV0ZUJ5T3duZXIoKSB7XG4gICAgcmV0dXJuIGFsbG93RWMySW5zdGFuY2VEZWxldGVCeU93bmVyKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Account = void 0;
|
|
4
|
+
const shared_1 = require("../shared");
|
|
5
|
+
/**
|
|
6
|
+
* Statement provider for service [account](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsaccountmanagement.html).
|
|
7
|
+
*
|
|
8
|
+
* @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement
|
|
9
|
+
*/
|
|
10
|
+
class Account extends shared_1.PolicyStatement {
|
|
11
|
+
/**
|
|
12
|
+
* Grants permission to close an account
|
|
13
|
+
*
|
|
14
|
+
* Access Level: Write
|
|
15
|
+
*
|
|
16
|
+
* https://docs.aws.amazon.com/accounts/latest/reference/security_account-permissions-ref.html
|
|
17
|
+
*/
|
|
18
|
+
toCloseAccount() {
|
|
19
|
+
return this.to('CloseAccount');
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Grants permission to delete the alternate contacts for an account
|
|
23
|
+
*
|
|
24
|
+
* Access Level: Write
|
|
25
|
+
*
|
|
26
|
+
* Possible conditions:
|
|
27
|
+
* - .ifAlternateContactTypes()
|
|
28
|
+
*
|
|
29
|
+
* https://docs.aws.amazon.com/accounts/latest/reference/API_DeleteAlternateContact.html
|
|
30
|
+
*/
|
|
31
|
+
toDeleteAlternateContact() {
|
|
32
|
+
return this.to('DeleteAlternateContact');
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Grants permission to disable use of a Region
|
|
36
|
+
*
|
|
37
|
+
* Access Level: Write
|
|
38
|
+
*
|
|
39
|
+
* Possible conditions:
|
|
40
|
+
* - .ifTargetRegion()
|
|
41
|
+
*
|
|
42
|
+
* https://docs.aws.amazon.com/accounts/latest/reference/API_DisableRegion.html
|
|
43
|
+
*/
|
|
44
|
+
toDisableRegion() {
|
|
45
|
+
return this.to('DisableRegion');
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Grants permission to enable use of a Region
|
|
49
|
+
*
|
|
50
|
+
* Access Level: Write
|
|
51
|
+
*
|
|
52
|
+
* Possible conditions:
|
|
53
|
+
* - .ifTargetRegion()
|
|
54
|
+
*
|
|
55
|
+
* https://docs.aws.amazon.com/accounts/latest/reference/API_EnableRegion.html
|
|
56
|
+
*/
|
|
57
|
+
toEnableRegion() {
|
|
58
|
+
return this.to('EnableRegion');
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Grants permission to retrieve the account information for an account
|
|
62
|
+
*
|
|
63
|
+
* Access Level: Read
|
|
64
|
+
*
|
|
65
|
+
* https://docs.aws.amazon.com/accounts/latest/reference/security_account-permissions-ref.html
|
|
66
|
+
*/
|
|
67
|
+
toGetAccountInformation() {
|
|
68
|
+
return this.to('GetAccountInformation');
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Grants permission to retrieve the alternate contacts for an account
|
|
72
|
+
*
|
|
73
|
+
* Access Level: Read
|
|
74
|
+
*
|
|
75
|
+
* Possible conditions:
|
|
76
|
+
* - .ifAlternateContactTypes()
|
|
77
|
+
*
|
|
78
|
+
* https://docs.aws.amazon.com/accounts/latest/reference/API_GetAlternateContact.html
|
|
79
|
+
*/
|
|
80
|
+
toGetAlternateContact() {
|
|
81
|
+
return this.to('GetAlternateContact');
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Grants permission to retrieve the challenge questions for an account
|
|
85
|
+
*
|
|
86
|
+
* Access Level: Read
|
|
87
|
+
*
|
|
88
|
+
* https://docs.aws.amazon.com/accounts/latest/reference/security_account-permissions-ref.html
|
|
89
|
+
*/
|
|
90
|
+
toGetChallengeQuestions() {
|
|
91
|
+
return this.to('GetChallengeQuestions');
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Grants permission to retrieve the primary contact information for an account
|
|
95
|
+
*
|
|
96
|
+
* Access Level: Read
|
|
97
|
+
*
|
|
98
|
+
* https://docs.aws.amazon.com/accounts/latest/reference/API_GetContactInformation.html
|
|
99
|
+
*/
|
|
100
|
+
toGetContactInformation() {
|
|
101
|
+
return this.to('GetContactInformation');
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Grants permission to get the opt-in status of a Region
|
|
105
|
+
*
|
|
106
|
+
* Access Level: Read
|
|
107
|
+
*
|
|
108
|
+
* Possible conditions:
|
|
109
|
+
* - .ifTargetRegion()
|
|
110
|
+
*
|
|
111
|
+
* https://docs.aws.amazon.com/accounts/latest/reference/API_GetRegionOptStatus.html
|
|
112
|
+
*/
|
|
113
|
+
toGetRegionOptStatus() {
|
|
114
|
+
return this.to('GetRegionOptStatus');
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Grants permission to list the available Regions
|
|
118
|
+
*
|
|
119
|
+
* Access Level: List
|
|
120
|
+
*
|
|
121
|
+
* https://docs.aws.amazon.com/accounts/latest/reference/API_ListRegions.html
|
|
122
|
+
*/
|
|
123
|
+
toListRegions() {
|
|
124
|
+
return this.to('ListRegions');
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Grants permission to modify the alternate contacts for an account
|
|
128
|
+
*
|
|
129
|
+
* Access Level: Write
|
|
130
|
+
*
|
|
131
|
+
* Possible conditions:
|
|
132
|
+
* - .ifAlternateContactTypes()
|
|
133
|
+
*
|
|
134
|
+
* https://docs.aws.amazon.com/accounts/latest/reference/API_PutAlternateContact.html
|
|
135
|
+
*/
|
|
136
|
+
toPutAlternateContact() {
|
|
137
|
+
return this.to('PutAlternateContact');
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Grants permission to modify the challenge questions for an account
|
|
141
|
+
*
|
|
142
|
+
* Access Level: Write
|
|
143
|
+
*
|
|
144
|
+
* https://docs.aws.amazon.com/accounts/latest/reference/security_account-permissions-ref.html
|
|
145
|
+
*/
|
|
146
|
+
toPutChallengeQuestions() {
|
|
147
|
+
return this.to('PutChallengeQuestions');
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Grants permission to update the primary contact information for an account
|
|
151
|
+
*
|
|
152
|
+
* Access Level: Write
|
|
153
|
+
*
|
|
154
|
+
* https://docs.aws.amazon.com/accounts/latest/reference/API_PutContactInformation.html
|
|
155
|
+
*/
|
|
156
|
+
toPutContactInformation() {
|
|
157
|
+
return this.to('PutContactInformation');
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Adds a resource of type account to the statement
|
|
161
|
+
*
|
|
162
|
+
* https://docs.aws.amazon.com/accounts/latest/reference/security_iam_service-with-iam.html#security_iam_service-with-iam-id-based-policies-resources
|
|
163
|
+
*
|
|
164
|
+
* @param account - Account of the resource; defaults to empty string: all accounts.
|
|
165
|
+
* @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.
|
|
166
|
+
*/
|
|
167
|
+
onAccount(account, partition) {
|
|
168
|
+
return this.on(`arn:${partition || Account.defaultPartition}:account::${account || '*'}:account`);
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Adds a resource of type accountInOrganization to the statement
|
|
172
|
+
*
|
|
173
|
+
* https://docs.aws.amazon.com/accounts/latest/reference/security_iam_service-with-iam.html#security_iam_service-with-iam-id-based-policies-resources
|
|
174
|
+
*
|
|
175
|
+
* @param managementAccountId - Identifier for the managementAccountId.
|
|
176
|
+
* @param organizationId - Identifier for the organizationId.
|
|
177
|
+
* @param memberAccountId - Identifier for the memberAccountId.
|
|
178
|
+
* @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.
|
|
179
|
+
*/
|
|
180
|
+
onAccountInOrganization(managementAccountId, organizationId, memberAccountId, partition) {
|
|
181
|
+
return this.on(`arn:${partition || Account.defaultPartition}:account::${managementAccountId}:account/o-${organizationId}/${memberAccountId}`);
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Filters access by the resource path for an account in an organization
|
|
185
|
+
*
|
|
186
|
+
* https://docs.aws.amazon.com/accounts/latest/reference/security_iam_service-with-iam.html#security_iam_service-with-iam-id-based-policies-conditionkeys
|
|
187
|
+
*
|
|
188
|
+
* @param value The value(s) to check
|
|
189
|
+
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
|
|
190
|
+
*/
|
|
191
|
+
ifAccountResourceOrgPaths(value, operator) {
|
|
192
|
+
return this.if(`AccountResourceOrgPaths`, value, operator || 'StringLike');
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Filters access by resource tags for an account in an organization
|
|
196
|
+
*
|
|
197
|
+
* https://docs.aws.amazon.com/accounts/latest/reference/security_iam_service-with-iam.html#security_iam_service-with-iam-id-based-policies-conditionkeys
|
|
198
|
+
*
|
|
199
|
+
* @param tagKey The tag key to check
|
|
200
|
+
* @param value The value(s) to check
|
|
201
|
+
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
|
|
202
|
+
*/
|
|
203
|
+
ifAccountResourceOrgTags(tagKey, value, operator) {
|
|
204
|
+
return this.if(`AccountResourceOrgTags/${tagKey}`, value, operator || 'StringLike');
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Filters access by alternate contact types
|
|
208
|
+
*
|
|
209
|
+
* https://docs.aws.amazon.com/accounts/latest/reference/security_iam_service-with-iam.html#security_iam_service-with-iam-id-based-policies-conditionkeys
|
|
210
|
+
*
|
|
211
|
+
* Applies to actions:
|
|
212
|
+
* - .toDeleteAlternateContact()
|
|
213
|
+
* - .toGetAlternateContact()
|
|
214
|
+
* - .toPutAlternateContact()
|
|
215
|
+
*
|
|
216
|
+
* @param value The value(s) to check
|
|
217
|
+
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
|
|
218
|
+
*/
|
|
219
|
+
ifAlternateContactTypes(value, operator) {
|
|
220
|
+
return this.if(`AlternateContactTypes`, value, operator || 'StringLike');
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Filters access by a list of Regions. Enables or disables all the Regions specified here
|
|
224
|
+
*
|
|
225
|
+
* https://docs.aws.amazon.com/accounts/latest/reference/security_iam_service-with-iam.html#security_iam_service-with-iam-id-based-policies-conditionkeys
|
|
226
|
+
*
|
|
227
|
+
* Applies to actions:
|
|
228
|
+
* - .toDisableRegion()
|
|
229
|
+
* - .toEnableRegion()
|
|
230
|
+
* - .toGetRegionOptStatus()
|
|
231
|
+
*
|
|
232
|
+
* @param value The value(s) to check
|
|
233
|
+
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
|
|
234
|
+
*/
|
|
235
|
+
ifTargetRegion(value, operator) {
|
|
236
|
+
return this.if(`TargetRegion`, value, operator || 'StringLike');
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Statement provider for service [account](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsaccountmanagement.html).
|
|
240
|
+
*
|
|
241
|
+
*/
|
|
242
|
+
constructor(props) {
|
|
243
|
+
super(props);
|
|
244
|
+
this.servicePrefix = 'account';
|
|
245
|
+
this.accessLevelList = {
|
|
246
|
+
Write: [
|
|
247
|
+
'CloseAccount',
|
|
248
|
+
'DeleteAlternateContact',
|
|
249
|
+
'DisableRegion',
|
|
250
|
+
'EnableRegion',
|
|
251
|
+
'PutAlternateContact',
|
|
252
|
+
'PutChallengeQuestions',
|
|
253
|
+
'PutContactInformation'
|
|
254
|
+
],
|
|
255
|
+
Read: [
|
|
256
|
+
'GetAccountInformation',
|
|
257
|
+
'GetAlternateContact',
|
|
258
|
+
'GetChallengeQuestions',
|
|
259
|
+
'GetContactInformation',
|
|
260
|
+
'GetRegionOptStatus'
|
|
261
|
+
],
|
|
262
|
+
List: [
|
|
263
|
+
'ListRegions'
|
|
264
|
+
]
|
|
265
|
+
};
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
exports.Account = Account;
|
|
269
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudG1hbmFnZW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJhY2NvdW50bWFuYWdlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxzQ0FBc0Q7QUFHdEQ7Ozs7R0FJRztBQUNILE1BQWEsT0FBUSxTQUFRLHdCQUFlO0lBRzFDOzs7Ozs7T0FNRztJQUNJLGNBQWM7UUFDbkIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSSx3QkFBd0I7UUFDN0IsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNJLGVBQWU7UUFDcEIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSSxjQUFjO1FBQ25CLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksdUJBQXVCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSSxxQkFBcUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLHVCQUF1QjtRQUM1QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksdUJBQXVCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSSxvQkFBb0I7UUFDekIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLGFBQWE7UUFDbEIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSSxxQkFBcUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLHVCQUF1QjtRQUM1QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksdUJBQXVCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUF3QkQ7Ozs7Ozs7T0FPRztJQUNJLFNBQVMsQ0FBQyxPQUFnQixFQUFFLFNBQWtCO1FBQ25ELE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFRLFNBQVMsSUFBSSxPQUFPLENBQUMsZ0JBQWlCLGFBQWMsT0FBTyxJQUFJLEdBQUksVUFBVSxDQUFDLENBQUM7SUFDeEcsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNJLHVCQUF1QixDQUFDLG1CQUEyQixFQUFFLGNBQXNCLEVBQUUsZUFBdUIsRUFBRSxTQUFrQjtRQUM3SCxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBUSxTQUFTLElBQUksT0FBTyxDQUFDLGdCQUFpQixhQUFjLG1CQUFvQixjQUFlLGNBQWUsSUFBSyxlQUFnQixFQUFFLENBQUMsQ0FBQztJQUN4SixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLHlCQUF5QixDQUFDLEtBQXdCLEVBQUUsUUFBNEI7UUFDckYsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHlCQUF5QixFQUFFLEtBQUssRUFBRSxRQUFRLElBQUksWUFBWSxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0ksd0JBQXdCLENBQUMsTUFBYyxFQUFFLEtBQXdCLEVBQUUsUUFBNEI7UUFDcEcsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLDBCQUEyQixNQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsUUFBUSxJQUFJLFlBQVksQ0FBQyxDQUFDO0lBQ3hGLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7O09BWUc7SUFDSSx1QkFBdUIsQ0FBQyxLQUF3QixFQUFFLFFBQTRCO1FBQ25GLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSxLQUFLLEVBQUUsUUFBUSxJQUFJLFlBQVksQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7O09BWUc7SUFDSSxjQUFjLENBQUMsS0FBd0IsRUFBRSxRQUE0QjtRQUMxRSxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxFQUFFLEtBQUssRUFBRSxRQUFRLElBQUksWUFBWSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVEOzs7T0FHRztJQUNILFlBQVksS0FBZ0M7UUFDMUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBblJSLGtCQUFhLEdBQUcsU0FBUyxDQUFDO1FBbUt2QixvQkFBZSxHQUFvQjtZQUMzQyxLQUFLLEVBQUU7Z0JBQ0wsY0FBYztnQkFDZCx3QkFBd0I7Z0JBQ3hCLGVBQWU7Z0JBQ2YsY0FBYztnQkFDZCxxQkFBcUI7Z0JBQ3JCLHVCQUF1QjtnQkFDdkIsdUJBQXVCO2FBQ3hCO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLHVCQUF1QjtnQkFDdkIscUJBQXFCO2dCQUNyQix1QkFBdUI7Z0JBQ3ZCLHVCQUF1QjtnQkFDdkIsb0JBQW9CO2FBQ3JCO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLGFBQWE7YUFDZDtTQUNGLENBQUM7SUE2RkYsQ0FBQztDQUNGO0FBdFJELDBCQXNSQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjY2Vzc0xldmVsTGlzdCB9IGZyb20gJy4uL3NoYXJlZC9hY2Nlc3MtbGV2ZWwnO1xuaW1wb3J0IHsgUG9saWN5U3RhdGVtZW50LCBPcGVyYXRvciB9IGZyb20gJy4uL3NoYXJlZCc7XG5pbXBvcnQgeyBhd3NfaWFtIGFzIGlhbSB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuXG4vKipcbiAqIFN0YXRlbWVudCBwcm92aWRlciBmb3Igc2VydmljZSBbYWNjb3VudF0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NlcnZpY2UtYXV0aG9yaXphdGlvbi9sYXRlc3QvcmVmZXJlbmNlL2xpc3RfYXdzYWNjb3VudG1hbmFnZW1lbnQuaHRtbCkuXG4gKlxuICogQHBhcmFtIHNpZCBbU0lEXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vSUFNL2xhdGVzdC9Vc2VyR3VpZGUvcmVmZXJlbmNlX3BvbGljaWVzX2VsZW1lbnRzX3NpZC5odG1sKSBvZiB0aGUgc3RhdGVtZW50XG4gKi9cbmV4cG9ydCBjbGFzcyBBY2NvdW50IGV4dGVuZHMgUG9saWN5U3RhdGVtZW50IHtcbiAgcHVibGljIHNlcnZpY2VQcmVmaXggPSAnYWNjb3VudCc7XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNsb3NlIGFuIGFjY291bnRcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYWNjb3VudHMvbGF0ZXN0L3JlZmVyZW5jZS9zZWN1cml0eV9hY2NvdW50LXBlcm1pc3Npb25zLXJlZi5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9DbG9zZUFjY291bnQoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0Nsb3NlQWNjb3VudCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlbGV0ZSB0aGUgYWx0ZXJuYXRlIGNvbnRhY3RzIGZvciBhbiBhY2NvdW50XG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZBbHRlcm5hdGVDb250YWN0VHlwZXMoKVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYWNjb3VudHMvbGF0ZXN0L3JlZmVyZW5jZS9BUElfRGVsZXRlQWx0ZXJuYXRlQ29udGFjdC5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZWxldGVBbHRlcm5hdGVDb250YWN0KCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZWxldGVBbHRlcm5hdGVDb250YWN0Jyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGlzYWJsZSB1c2Ugb2YgYSBSZWdpb25cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZlRhcmdldFJlZ2lvbigpXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hY2NvdW50cy9sYXRlc3QvcmVmZXJlbmNlL0FQSV9EaXNhYmxlUmVnaW9uLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0Rpc2FibGVSZWdpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0Rpc2FibGVSZWdpb24nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBlbmFibGUgdXNlIG9mIGEgUmVnaW9uXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZUYXJnZXRSZWdpb24oKVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYWNjb3VudHMvbGF0ZXN0L3JlZmVyZW5jZS9BUElfRW5hYmxlUmVnaW9uLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0VuYWJsZVJlZ2lvbigpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRW5hYmxlUmVnaW9uJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmV0cmlldmUgdGhlIGFjY291bnQgaW5mb3JtYXRpb24gZm9yIGFuIGFjY291bnRcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hY2NvdW50cy9sYXRlc3QvcmVmZXJlbmNlL3NlY3VyaXR5X2FjY291bnQtcGVybWlzc2lvbnMtcmVmLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0dldEFjY291bnRJbmZvcm1hdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy50bygnR2V0QWNjb3VudEluZm9ybWF0aW9uJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmV0cmlldmUgdGhlIGFsdGVybmF0ZSBjb250YWN0cyBmb3IgYW4gYWNjb3VudFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZBbHRlcm5hdGVDb250YWN0VHlwZXMoKVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYWNjb3VudHMvbGF0ZXN0L3JlZmVyZW5jZS9BUElfR2V0QWx0ZXJuYXRlQ29udGFjdC5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9HZXRBbHRlcm5hdGVDb250YWN0KCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdHZXRBbHRlcm5hdGVDb250YWN0Jyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmV0cmlldmUgdGhlIGNoYWxsZW5nZSBxdWVzdGlvbnMgZm9yIGFuIGFjY291bnRcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hY2NvdW50cy9sYXRlc3QvcmVmZXJlbmNlL3NlY3VyaXR5X2FjY291bnQtcGVybWlzc2lvbnMtcmVmLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0dldENoYWxsZW5nZVF1ZXN0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnR2V0Q2hhbGxlbmdlUXVlc3Rpb25zJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmV0cmlldmUgdGhlIHByaW1hcnkgY29udGFjdCBpbmZvcm1hdGlvbiBmb3IgYW4gYWNjb3VudFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FjY291bnRzL2xhdGVzdC9yZWZlcmVuY2UvQVBJX0dldENvbnRhY3RJbmZvcm1hdGlvbi5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9HZXRDb250YWN0SW5mb3JtYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0dldENvbnRhY3RJbmZvcm1hdGlvbicpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGdldCB0aGUgb3B0LWluIHN0YXR1cyBvZiBhIFJlZ2lvblxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZUYXJnZXRSZWdpb24oKVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYWNjb3VudHMvbGF0ZXN0L3JlZmVyZW5jZS9BUElfR2V0UmVnaW9uT3B0U3RhdHVzLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0dldFJlZ2lvbk9wdFN0YXR1cygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnR2V0UmVnaW9uT3B0U3RhdHVzJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gbGlzdCB0aGUgYXZhaWxhYmxlIFJlZ2lvbnNcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBMaXN0XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hY2NvdW50cy9sYXRlc3QvcmVmZXJlbmNlL0FQSV9MaXN0UmVnaW9ucy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9MaXN0UmVnaW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnTGlzdFJlZ2lvbnMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBtb2RpZnkgdGhlIGFsdGVybmF0ZSBjb250YWN0cyBmb3IgYW4gYWNjb3VudFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIFBvc3NpYmxlIGNvbmRpdGlvbnM6XG4gICAqIC0gLmlmQWx0ZXJuYXRlQ29udGFjdFR5cGVzKClcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FjY291bnRzL2xhdGVzdC9yZWZlcmVuY2UvQVBJX1B1dEFsdGVybmF0ZUNvbnRhY3QuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvUHV0QWx0ZXJuYXRlQ29udGFjdCgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnUHV0QWx0ZXJuYXRlQ29udGFjdCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIG1vZGlmeSB0aGUgY2hhbGxlbmdlIHF1ZXN0aW9ucyBmb3IgYW4gYWNjb3VudFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hY2NvdW50cy9sYXRlc3QvcmVmZXJlbmNlL3NlY3VyaXR5X2FjY291bnQtcGVybWlzc2lvbnMtcmVmLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b1B1dENoYWxsZW5nZVF1ZXN0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnUHV0Q2hhbGxlbmdlUXVlc3Rpb25zJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gdXBkYXRlIHRoZSBwcmltYXJ5IGNvbnRhY3QgaW5mb3JtYXRpb24gZm9yIGFuIGFjY291bnRcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYWNjb3VudHMvbGF0ZXN0L3JlZmVyZW5jZS9BUElfUHV0Q29udGFjdEluZm9ybWF0aW9uLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b1B1dENvbnRhY3RJbmZvcm1hdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy50bygnUHV0Q29udGFjdEluZm9ybWF0aW9uJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYWNjZXNzTGV2ZWxMaXN0OiBBY2Nlc3NMZXZlbExpc3QgPSB7XG4gICAgV3JpdGU6IFtcbiAgICAgICdDbG9zZUFjY291bnQnLFxuICAgICAgJ0RlbGV0ZUFsdGVybmF0ZUNvbnRhY3QnLFxuICAgICAgJ0Rpc2FibGVSZWdpb24nLFxuICAgICAgJ0VuYWJsZVJlZ2lvbicsXG4gICAgICAnUHV0QWx0ZXJuYXRlQ29udGFjdCcsXG4gICAgICAnUHV0Q2hhbGxlbmdlUXVlc3Rpb25zJyxcbiAgICAgICdQdXRDb250YWN0SW5mb3JtYXRpb24nXG4gICAgXSxcbiAgICBSZWFkOiBbXG4gICAgICAnR2V0QWNjb3VudEluZm9ybWF0aW9uJyxcbiAgICAgICdHZXRBbHRlcm5hdGVDb250YWN0JyxcbiAgICAgICdHZXRDaGFsbGVuZ2VRdWVzdGlvbnMnLFxuICAgICAgJ0dldENvbnRhY3RJbmZvcm1hdGlvbicsXG4gICAgICAnR2V0UmVnaW9uT3B0U3RhdHVzJ1xuICAgIF0sXG4gICAgTGlzdDogW1xuICAgICAgJ0xpc3RSZWdpb25zJ1xuICAgIF1cbiAgfTtcblxuICAvKipcbiAgICogQWRkcyBhIHJlc291cmNlIG9mIHR5cGUgYWNjb3VudCB0byB0aGUgc3RhdGVtZW50XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hY2NvdW50cy9sYXRlc3QvcmVmZXJlbmNlL3NlY3VyaXR5X2lhbV9zZXJ2aWNlLXdpdGgtaWFtLmh0bWwjc2VjdXJpdHlfaWFtX3NlcnZpY2Utd2l0aC1pYW0taWQtYmFzZWQtcG9saWNpZXMtcmVzb3VyY2VzXG4gICAqXG4gICAqIEBwYXJhbSBhY2NvdW50IC0gQWNjb3VudCBvZiB0aGUgcmVzb3VyY2U7IGRlZmF1bHRzIHRvIGVtcHR5IHN0cmluZzogYWxsIGFjY291bnRzLlxuICAgKiBAcGFyYW0gcGFydGl0aW9uIC0gUGFydGl0aW9uIG9mIHRoZSBBV1MgYWNjb3VudCBbYXdzLCBhd3MtY24sIGF3cy11cy1nb3ZdOyBkZWZhdWx0cyB0byBgYXdzYCwgdW5sZXNzIHVzaW5nIHRoZSBDREssIHdoZXJlIHRoZSBkZWZhdWx0IGlzIHRoZSBjdXJyZW50IFN0YWNrJ3MgcGFydGl0aW9uLlxuICAgKi9cbiAgcHVibGljIG9uQWNjb3VudChhY2NvdW50Pzogc3RyaW5nLCBwYXJ0aXRpb24/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5vbihgYXJuOiR7IHBhcnRpdGlvbiB8fCBBY2NvdW50LmRlZmF1bHRQYXJ0aXRpb24gfTphY2NvdW50OjokeyBhY2NvdW50IHx8ICcqJyB9OmFjY291bnRgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgcmVzb3VyY2Ugb2YgdHlwZSBhY2NvdW50SW5Pcmdhbml6YXRpb24gdG8gdGhlIHN0YXRlbWVudFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYWNjb3VudHMvbGF0ZXN0L3JlZmVyZW5jZS9zZWN1cml0eV9pYW1fc2VydmljZS13aXRoLWlhbS5odG1sI3NlY3VyaXR5X2lhbV9zZXJ2aWNlLXdpdGgtaWFtLWlkLWJhc2VkLXBvbGljaWVzLXJlc291cmNlc1xuICAgKlxuICAgKiBAcGFyYW0gbWFuYWdlbWVudEFjY291bnRJZCAtIElkZW50aWZpZXIgZm9yIHRoZSBtYW5hZ2VtZW50QWNjb3VudElkLlxuICAgKiBAcGFyYW0gb3JnYW5pemF0aW9uSWQgLSBJZGVudGlmaWVyIGZvciB0aGUgb3JnYW5pemF0aW9uSWQuXG4gICAqIEBwYXJhbSBtZW1iZXJBY2NvdW50SWQgLSBJZGVudGlmaWVyIGZvciB0aGUgbWVtYmVyQWNjb3VudElkLlxuICAgKiBAcGFyYW0gcGFydGl0aW9uIC0gUGFydGl0aW9uIG9mIHRoZSBBV1MgYWNjb3VudCBbYXdzLCBhd3MtY24sIGF3cy11cy1nb3ZdOyBkZWZhdWx0cyB0byBgYXdzYCwgdW5sZXNzIHVzaW5nIHRoZSBDREssIHdoZXJlIHRoZSBkZWZhdWx0IGlzIHRoZSBjdXJyZW50IFN0YWNrJ3MgcGFydGl0aW9uLlxuICAgKi9cbiAgcHVibGljIG9uQWNjb3VudEluT3JnYW5pemF0aW9uKG1hbmFnZW1lbnRBY2NvdW50SWQ6IHN0cmluZywgb3JnYW5pemF0aW9uSWQ6IHN0cmluZywgbWVtYmVyQWNjb3VudElkOiBzdHJpbmcsIHBhcnRpdGlvbj86IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLm9uKGBhcm46JHsgcGFydGl0aW9uIHx8IEFjY291bnQuZGVmYXVsdFBhcnRpdGlvbiB9OmFjY291bnQ6OiR7IG1hbmFnZW1lbnRBY2NvdW50SWQgfTphY2NvdW50L28tJHsgb3JnYW5pemF0aW9uSWQgfS8keyBtZW1iZXJBY2NvdW50SWQgfWApO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbHRlcnMgYWNjZXNzIGJ5IHRoZSByZXNvdXJjZSBwYXRoIGZvciBhbiBhY2NvdW50IGluIGFuIG9yZ2FuaXphdGlvblxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYWNjb3VudHMvbGF0ZXN0L3JlZmVyZW5jZS9zZWN1cml0eV9pYW1fc2VydmljZS13aXRoLWlhbS5odG1sI3NlY3VyaXR5X2lhbV9zZXJ2aWNlLXdpdGgtaWFtLWlkLWJhc2VkLXBvbGljaWVzLWNvbmRpdGlvbmtleXNcbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZShzKSB0byBjaGVja1xuICAgKiBAcGFyYW0gb3BlcmF0b3IgV29ya3Mgd2l0aCBbc3RyaW5nIG9wZXJhdG9yc10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0lBTS9sYXRlc3QvVXNlckd1aWRlL3JlZmVyZW5jZV9wb2xpY2llc19lbGVtZW50c19jb25kaXRpb25fb3BlcmF0b3JzLmh0bWwjQ29uZGl0aW9uc19TdHJpbmcpLiAqKkRlZmF1bHQ6KiogYFN0cmluZ0xpa2VgXG4gICAqL1xuICBwdWJsaWMgaWZBY2NvdW50UmVzb3VyY2VPcmdQYXRocyh2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10sIG9wZXJhdG9yPzogT3BlcmF0b3IgfCBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5pZihgQWNjb3VudFJlc291cmNlT3JnUGF0aHNgLCB2YWx1ZSwgb3BlcmF0b3IgfHwgJ1N0cmluZ0xpa2UnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaWx0ZXJzIGFjY2VzcyBieSByZXNvdXJjZSB0YWdzIGZvciBhbiBhY2NvdW50IGluIGFuIG9yZ2FuaXphdGlvblxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYWNjb3VudHMvbGF0ZXN0L3JlZmVyZW5jZS9zZWN1cml0eV9pYW1fc2VydmljZS13aXRoLWlhbS5odG1sI3NlY3VyaXR5X2lhbV9zZXJ2aWNlLXdpdGgtaWFtLWlkLWJhc2VkLXBvbGljaWVzLWNvbmRpdGlvbmtleXNcbiAgICpcbiAgICogQHBhcmFtIHRhZ0tleSBUaGUgdGFnIGtleSB0byBjaGVja1xuICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlKHMpIHRvIGNoZWNrXG4gICAqIEBwYXJhbSBvcGVyYXRvciBXb3JrcyB3aXRoIFtzdHJpbmcgb3BlcmF0b3JzXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vSUFNL2xhdGVzdC9Vc2VyR3VpZGUvcmVmZXJlbmNlX3BvbGljaWVzX2VsZW1lbnRzX2NvbmRpdGlvbl9vcGVyYXRvcnMuaHRtbCNDb25kaXRpb25zX1N0cmluZykuICoqRGVmYXVsdDoqKiBgU3RyaW5nTGlrZWBcbiAgICovXG4gIHB1YmxpYyBpZkFjY291bnRSZXNvdXJjZU9yZ1RhZ3ModGFnS2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSwgb3BlcmF0b3I/OiBPcGVyYXRvciB8IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmlmKGBBY2NvdW50UmVzb3VyY2VPcmdUYWdzLyR7IHRhZ0tleSB9YCwgdmFsdWUsIG9wZXJhdG9yIHx8ICdTdHJpbmdMaWtlJyk7XG4gIH1cblxuICAvKipcbiAgICogRmlsdGVycyBhY2Nlc3MgYnkgYWx0ZXJuYXRlIGNvbnRhY3QgdHlwZXNcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FjY291bnRzL2xhdGVzdC9yZWZlcmVuY2Uvc2VjdXJpdHlfaWFtX3NlcnZpY2Utd2l0aC1pYW0uaHRtbCNzZWN1cml0eV9pYW1fc2VydmljZS13aXRoLWlhbS1pZC1iYXNlZC1wb2xpY2llcy1jb25kaXRpb25rZXlzXG4gICAqXG4gICAqIEFwcGxpZXMgdG8gYWN0aW9uczpcbiAgICogLSAudG9EZWxldGVBbHRlcm5hdGVDb250YWN0KClcbiAgICogLSAudG9HZXRBbHRlcm5hdGVDb250YWN0KClcbiAgICogLSAudG9QdXRBbHRlcm5hdGVDb250YWN0KClcbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZShzKSB0byBjaGVja1xuICAgKiBAcGFyYW0gb3BlcmF0b3IgV29ya3Mgd2l0aCBbc3RyaW5nIG9wZXJhdG9yc10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0lBTS9sYXRlc3QvVXNlckd1aWRlL3JlZmVyZW5jZV9wb2xpY2llc19lbGVtZW50c19jb25kaXRpb25fb3BlcmF0b3JzLmh0bWwjQ29uZGl0aW9uc19TdHJpbmcpLiAqKkRlZmF1bHQ6KiogYFN0cmluZ0xpa2VgXG4gICAqL1xuICBwdWJsaWMgaWZBbHRlcm5hdGVDb250YWN0VHlwZXModmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdLCBvcGVyYXRvcj86IE9wZXJhdG9yIHwgc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaWYoYEFsdGVybmF0ZUNvbnRhY3RUeXBlc2AsIHZhbHVlLCBvcGVyYXRvciB8fCAnU3RyaW5nTGlrZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbHRlcnMgYWNjZXNzIGJ5IGEgbGlzdCBvZiBSZWdpb25zLiBFbmFibGVzIG9yIGRpc2FibGVzIGFsbCB0aGUgUmVnaW9ucyBzcGVjaWZpZWQgaGVyZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYWNjb3VudHMvbGF0ZXN0L3JlZmVyZW5jZS9zZWN1cml0eV9pYW1fc2VydmljZS13aXRoLWlhbS5odG1sI3NlY3VyaXR5X2lhbV9zZXJ2aWNlLXdpdGgtaWFtLWlkLWJhc2VkLXBvbGljaWVzLWNvbmRpdGlvbmtleXNcbiAgICpcbiAgICogQXBwbGllcyB0byBhY3Rpb25zOlxuICAgKiAtIC50b0Rpc2FibGVSZWdpb24oKVxuICAgKiAtIC50b0VuYWJsZVJlZ2lvbigpXG4gICAqIC0gLnRvR2V0UmVnaW9uT3B0U3RhdHVzKClcbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZShzKSB0byBjaGVja1xuICAgKiBAcGFyYW0gb3BlcmF0b3IgV29ya3Mgd2l0aCBbc3RyaW5nIG9wZXJhdG9yc10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0lBTS9sYXRlc3QvVXNlckd1aWRlL3JlZmVyZW5jZV9wb2xpY2llc19lbGVtZW50c19jb25kaXRpb25fb3BlcmF0b3JzLmh0bWwjQ29uZGl0aW9uc19TdHJpbmcpLiAqKkRlZmF1bHQ6KiogYFN0cmluZ0xpa2VgXG4gICAqL1xuICBwdWJsaWMgaWZUYXJnZXRSZWdpb24odmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdLCBvcGVyYXRvcj86IE9wZXJhdG9yIHwgc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaWYoYFRhcmdldFJlZ2lvbmAsIHZhbHVlLCBvcGVyYXRvciB8fCAnU3RyaW5nTGlrZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0YXRlbWVudCBwcm92aWRlciBmb3Igc2VydmljZSBbYWNjb3VudF0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NlcnZpY2UtYXV0aG9yaXphdGlvbi9sYXRlc3QvcmVmZXJlbmNlL2xpc3RfYXdzYWNjb3VudG1hbmFnZW1lbnQuaHRtbCkuXG4gICAqXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcm9wcz86IGlhbS5Qb2xpY3lTdGF0ZW1lbnRQcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Activate = void 0;
|
|
4
|
+
const shared_1 = require("../shared");
|
|
5
|
+
/**
|
|
6
|
+
* Statement provider for service [activate](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsactivate.html).
|
|
7
|
+
*
|
|
8
|
+
* @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement
|
|
9
|
+
*/
|
|
10
|
+
class Activate extends shared_1.PolicyStatement {
|
|
11
|
+
/**
|
|
12
|
+
* Grants permission to submit an Activate application form
|
|
13
|
+
*
|
|
14
|
+
* Access Level: Write
|
|
15
|
+
*/
|
|
16
|
+
toCreateForm() {
|
|
17
|
+
return this.to('CreateForm');
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Grants permission to get the AWS account contact information
|
|
21
|
+
*
|
|
22
|
+
* Access Level: Read
|
|
23
|
+
*/
|
|
24
|
+
toGetAccountContact() {
|
|
25
|
+
return this.to('GetAccountContact');
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Grants permission to get Activate tech posts and offer information
|
|
29
|
+
*
|
|
30
|
+
* Access Level: Read
|
|
31
|
+
*/
|
|
32
|
+
toGetContentInfo() {
|
|
33
|
+
return this.to('GetContentInfo');
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Grants permission to get the AWS cost information
|
|
37
|
+
*
|
|
38
|
+
* Access Level: Read
|
|
39
|
+
*/
|
|
40
|
+
toGetCosts() {
|
|
41
|
+
return this.to('GetCosts');
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Grants permission to get the AWS credit information
|
|
45
|
+
*
|
|
46
|
+
* Access Level: Read
|
|
47
|
+
*/
|
|
48
|
+
toGetCredits() {
|
|
49
|
+
return this.to('GetCredits');
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Grants permission to get the Activate member information
|
|
53
|
+
*
|
|
54
|
+
* Access Level: Read
|
|
55
|
+
*/
|
|
56
|
+
toGetMemberInfo() {
|
|
57
|
+
return this.to('GetMemberInfo');
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Grants permission to get an Activate program
|
|
61
|
+
*
|
|
62
|
+
* Access Level: Read
|
|
63
|
+
*/
|
|
64
|
+
toGetProgram() {
|
|
65
|
+
return this.to('GetProgram');
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Grants permission to create or update the Activate member information
|
|
69
|
+
*
|
|
70
|
+
* Access Level: Write
|
|
71
|
+
*/
|
|
72
|
+
toPutMemberInfo() {
|
|
73
|
+
return this.to('PutMemberInfo');
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Statement provider for service [activate](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsactivate.html).
|
|
77
|
+
*
|
|
78
|
+
*/
|
|
79
|
+
constructor(props) {
|
|
80
|
+
super(props);
|
|
81
|
+
this.servicePrefix = 'activate';
|
|
82
|
+
this.accessLevelList = {
|
|
83
|
+
Write: [
|
|
84
|
+
'CreateForm',
|
|
85
|
+
'PutMemberInfo'
|
|
86
|
+
],
|
|
87
|
+
Read: [
|
|
88
|
+
'GetAccountContact',
|
|
89
|
+
'GetContentInfo',
|
|
90
|
+
'GetCosts',
|
|
91
|
+
'GetCredits',
|
|
92
|
+
'GetMemberInfo',
|
|
93
|
+
'GetProgram'
|
|
94
|
+
]
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
exports.Activate = Activate;
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJhY3RpdmF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxzQ0FBNEM7QUFHNUM7Ozs7R0FJRztBQUNILE1BQWEsUUFBUyxTQUFRLHdCQUFlO0lBRzNDOzs7O09BSUc7SUFDSSxZQUFZO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLG1CQUFtQjtRQUN4QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGdCQUFnQjtRQUNyQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFVBQVU7UUFDZixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxZQUFZO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGVBQWU7UUFDcEIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksWUFBWTtRQUNqQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxlQUFlO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBaUJEOzs7T0FHRztJQUNILFlBQVksS0FBZ0M7UUFDMUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBOUZSLGtCQUFhLEdBQUcsVUFBVSxDQUFDO1FBMEV4QixvQkFBZSxHQUFvQjtZQUMzQyxLQUFLLEVBQUU7Z0JBQ0wsWUFBWTtnQkFDWixlQUFlO2FBQ2hCO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLG1CQUFtQjtnQkFDbkIsZ0JBQWdCO2dCQUNoQixVQUFVO2dCQUNWLFlBQVk7Z0JBQ1osZUFBZTtnQkFDZixZQUFZO2FBQ2I7U0FDRixDQUFDO0lBUUYsQ0FBQztDQUNGO0FBakdELDRCQWlHQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjY2Vzc0xldmVsTGlzdCB9IGZyb20gJy4uL3NoYXJlZC9hY2Nlc3MtbGV2ZWwnO1xuaW1wb3J0IHsgUG9saWN5U3RhdGVtZW50IH0gZnJvbSAnLi4vc2hhcmVkJztcbmltcG9ydCB7IGF3c19pYW0gYXMgaWFtIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5cbi8qKlxuICogU3RhdGVtZW50IHByb3ZpZGVyIGZvciBzZXJ2aWNlIFthY3RpdmF0ZV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NlcnZpY2UtYXV0aG9yaXphdGlvbi9sYXRlc3QvcmVmZXJlbmNlL2xpc3RfYXdzYWN0aXZhdGUuaHRtbCkuXG4gKlxuICogQHBhcmFtIHNpZCBbU0lEXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vSUFNL2xhdGVzdC9Vc2VyR3VpZGUvcmVmZXJlbmNlX3BvbGljaWVzX2VsZW1lbnRzX3NpZC5odG1sKSBvZiB0aGUgc3RhdGVtZW50XG4gKi9cbmV4cG9ydCBjbGFzcyBBY3RpdmF0ZSBleHRlbmRzIFBvbGljeVN0YXRlbWVudCB7XG4gIHB1YmxpYyBzZXJ2aWNlUHJlZml4ID0gJ2FjdGl2YXRlJztcblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gc3VibWl0IGFuIEFjdGl2YXRlIGFwcGxpY2F0aW9uIGZvcm1cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKi9cbiAgcHVibGljIHRvQ3JlYXRlRm9ybSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnQ3JlYXRlRm9ybScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGdldCB0aGUgQVdTIGFjY291bnQgY29udGFjdCBpbmZvcm1hdGlvblxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICovXG4gIHB1YmxpYyB0b0dldEFjY291bnRDb250YWN0KCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdHZXRBY2NvdW50Q29udGFjdCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGdldCBBY3RpdmF0ZSB0ZWNoIHBvc3RzIGFuZCBvZmZlciBpbmZvcm1hdGlvblxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICovXG4gIHB1YmxpYyB0b0dldENvbnRlbnRJbmZvKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdHZXRDb250ZW50SW5mbycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGdldCB0aGUgQVdTIGNvc3QgaW5mb3JtYXRpb25cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqL1xuICBwdWJsaWMgdG9HZXRDb3N0cygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnR2V0Q29zdHMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBnZXQgdGhlIEFXUyBjcmVkaXQgaW5mb3JtYXRpb25cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqL1xuICBwdWJsaWMgdG9HZXRDcmVkaXRzKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdHZXRDcmVkaXRzJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZ2V0IHRoZSBBY3RpdmF0ZSBtZW1iZXIgaW5mb3JtYXRpb25cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqL1xuICBwdWJsaWMgdG9HZXRNZW1iZXJJbmZvKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdHZXRNZW1iZXJJbmZvJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZ2V0IGFuIEFjdGl2YXRlIHByb2dyYW1cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqL1xuICBwdWJsaWMgdG9HZXRQcm9ncmFtKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdHZXRQcm9ncmFtJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gY3JlYXRlIG9yIHVwZGF0ZSB0aGUgQWN0aXZhdGUgbWVtYmVyIGluZm9ybWF0aW9uXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICovXG4gIHB1YmxpYyB0b1B1dE1lbWJlckluZm8oKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ1B1dE1lbWJlckluZm8nKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhY2Nlc3NMZXZlbExpc3Q6IEFjY2Vzc0xldmVsTGlzdCA9IHtcbiAgICBXcml0ZTogW1xuICAgICAgJ0NyZWF0ZUZvcm0nLFxuICAgICAgJ1B1dE1lbWJlckluZm8nXG4gICAgXSxcbiAgICBSZWFkOiBbXG4gICAgICAnR2V0QWNjb3VudENvbnRhY3QnLFxuICAgICAgJ0dldENvbnRlbnRJbmZvJyxcbiAgICAgICdHZXRDb3N0cycsXG4gICAgICAnR2V0Q3JlZGl0cycsXG4gICAgICAnR2V0TWVtYmVySW5mbycsXG4gICAgICAnR2V0UHJvZ3JhbSdcbiAgICBdXG4gIH07XG5cbiAgLyoqXG4gICAqIFN0YXRlbWVudCBwcm92aWRlciBmb3Igc2VydmljZSBbYWN0aXZhdGVdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zZXJ2aWNlLWF1dGhvcml6YXRpb24vbGF0ZXN0L3JlZmVyZW5jZS9saXN0X2F3c2FjdGl2YXRlLmh0bWwpLlxuICAgKlxuICAgKi9cbiAgY29uc3RydWN0b3IocHJvcHM/OiBpYW0uUG9saWN5U3RhdGVtZW50UHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG4gIH1cbn1cbiJdfQ==
|