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 +270 -0
- package/lib/generated/activate.js +100 -0
- package/lib/generated/alexaforbusiness.js +1391 -0
- package/lib/generated/amplify.js +593 -0
- package/lib/generated/amplifyadmin.js +495 -0
- package/lib/generated/amplifyuibuilder.js +691 -0
- package/lib/generated/apachekafkaapisforamazonmskclusters.js +383 -0
- package/lib/generated/apigateway.js +73 -0
- package/lib/generated/apigatewaymanagement.js +1253 -0
- package/lib/generated/apigatewaymanagementv2.js +976 -0
- package/lib/generated/app2container.js +72 -0
- package/lib/generated/appconfig.js +850 -0
- package/lib/generated/appfabric.js +493 -0
- package/lib/generated/appflow.js +493 -0
- package/lib/generated/appintegrations.js +614 -0
- package/lib/generated/applicationautoscaling.js +310 -0
- package/lib/generated/applicationcostprofilerservice.js +94 -0
- package/lib/generated/applicationdiscoveryarsenal.js +37 -0
- package/lib/generated/applicationdiscoveryservice.js +382 -0
- package/lib/generated/applicationmigrationservice.js +1580 -0
- package/lib/generated/applicationtransformationservice.js +182 -0
- package/lib/generated/appmesh.js +665 -0
- package/lib/generated/appmeshpreview.js +525 -0
- package/lib/generated/apprunner.js +794 -0
- package/lib/generated/appstream2-0.js +1231 -0
- package/lib/generated/appsync.js +1013 -0
- package/lib/generated/artifact.js +208 -0
- package/lib/generated/athena.js +1021 -0
- package/lib/generated/auditmanager.js +858 -0
- package/lib/generated/autoscaling.js +94 -0
- package/lib/generated/b2bdatainterchange.js +472 -0
- package/lib/generated/backup.js +1429 -0
- package/lib/generated/backupgateway.js +444 -0
- package/lib/generated/backupstorage.js +191 -0
- package/lib/generated/batch.js +685 -0
- package/lib/generated/bedrock.js +1233 -0
- package/lib/generated/billing.js +171 -0
- package/lib/generated/billingandcostmanagementdataexports.js +281 -0
- package/lib/generated/billingconductor.js +529 -0
- package/lib/generated/billingconsole.js +127 -0
- package/lib/generated/braket.js +314 -0
- package/lib/generated/budgetservice.js +169 -0
- package/lib/generated/bugbust.js +375 -0
- package/lib/generated/certificatemanager.js +354 -0
- package/lib/generated/chatbot.js +349 -0
- package/lib/generated/chime.js +3899 -0
- package/lib/generated/cleanrooms.js +989 -0
- package/lib/generated/cleanroomsml.js +563 -0
- package/lib/generated/cloud9.js +579 -0
- package/lib/generated/cloudcontrolapi.js +116 -0
- package/lib/generated/clouddirectory.js +813 -0
- package/lib/generated/cloudformation.js +1335 -0
- package/lib/generated/cloudfront.js +1534 -0
- package/lib/generated/cloudfrontkeyvaluestore.js +108 -0
- package/lib/generated/cloudhsm.js +525 -0
- package/lib/generated/cloudmap.js +528 -0
- package/lib/generated/cloudsearch.js +399 -0
- package/lib/generated/cloudshell.js +140 -0
- package/lib/generated/cloudtrail.js +779 -0
- package/lib/generated/cloudtraildata.js +91 -0
- package/lib/generated/cloudwatch.js +872 -0
- package/lib/generated/cloudwatchapplicationinsights.js +455 -0
- package/lib/generated/cloudwatchevidently.js +625 -0
- package/lib/generated/cloudwatchinternetmonitor.js +274 -0
- package/lib/generated/cloudwatchlogs.js +1189 -0
- package/lib/generated/cloudwatchnetworkmonitor.js +241 -0
- package/lib/generated/cloudwatchobservabilityaccessmanager.js +349 -0
- package/lib/generated/cloudwatchrum.js +301 -0
- package/lib/generated/cloudwatchsynthetics.js +457 -0
- package/lib/generated/codeartifact.js +600 -0
- package/lib/generated/codebuild.js +841 -0
- package/lib/generated/codecatalyst.js +519 -0
- package/lib/generated/codecommit.js +1171 -0
- package/lib/generated/codedeploy.js +672 -0
- package/lib/generated/codedeploysecurehostcommandsservice.js +72 -0
- package/lib/generated/codeguru.js +37 -0
- package/lib/generated/codeguruprofiler.js +361 -0
- package/lib/generated/codegurureviewer.js +365 -0
- package/lib/generated/codegurusecurity.js +277 -0
- package/lib/generated/codepipeline.js +621 -0
- package/lib/generated/codestar.js +365 -0
- package/lib/generated/codestarconnections.js +806 -0
- package/lib/generated/codestarnotifications.js +340 -0
- package/lib/generated/codewhisperer.js +377 -0
- package/lib/generated/cognitoidentity.js +392 -0
- package/lib/generated/cognitosync.js +277 -0
- package/lib/generated/cognitouserpools.js +1300 -0
- package/lib/generated/comprehend.js +1522 -0
- package/lib/generated/comprehendmedical.js +314 -0
- package/lib/generated/computeoptimizer.js +375 -0
- package/lib/generated/config.js +1288 -0
- package/lib/generated/connect.js +4833 -0
- package/lib/generated/connectcases.js +557 -0
- package/lib/generated/connectcustomerprofiles.js +796 -0
- package/lib/generated/connectorservice.js +61 -0
- package/lib/generated/connectvoiceid.js +447 -0
- package/lib/generated/consolemobileapp.js +63 -0
- package/lib/generated/consolidatedbilling.js +50 -0
- package/lib/generated/controltower.js +718 -0
- package/lib/generated/costandusagereport.js +234 -0
- package/lib/generated/costexplorerservice.js +760 -0
- package/lib/generated/costoptimizationhub.js +113 -0
- package/lib/generated/customerverificationservice.js +72 -0
- package/lib/generated/databasemigrationservice.js +2534 -0
- package/lib/generated/databasequerymetadataservice.js +171 -0
- package/lib/generated/dataexchange.js +591 -0
- package/lib/generated/datalifecyclemanager.js +194 -0
- package/lib/generated/datapipeline.js +471 -0
- package/lib/generated/datasync.js +959 -0
- package/lib/generated/datazone.js +1215 -0
- package/lib/generated/deepcomposer.js +358 -0
- package/lib/generated/deeplens.js +281 -0
- package/lib/generated/deepracer.js +1058 -0
- package/lib/generated/detective.js +533 -0
- package/lib/generated/devicefarm.js +1221 -0
- package/lib/generated/devopsguru.js +413 -0
- package/lib/generated/diagnostictools.js +226 -0
- package/lib/generated/directconnect.js +899 -0
- package/lib/generated/directoryservice.js +1037 -0
- package/lib/generated/documentdbelasticclusters.js +413 -0
- package/lib/generated/dynamodb.js +1099 -0
- package/lib/generated/dynamodbacceleratordax.js +416 -0
- package/lib/generated/ec2.js +16710 -0
- package/lib/generated/ec2autoscaling.js +1217 -0
- package/lib/generated/ec2imagebuilder.js +1363 -0
- package/lib/generated/ec2instanceconnect.js +187 -0
- package/lib/generated/eksauth.js +68 -0
- package/lib/generated/elasticache.js +2038 -0
- package/lib/generated/elasticbeanstalk.js +938 -0
- package/lib/generated/elasticblockstore.js +246 -0
- package/lib/generated/elasticcontainerregistry.js +668 -0
- package/lib/generated/elasticcontainerregistrypublic.js +391 -0
- package/lib/generated/elasticcontainerservice.js +1371 -0
- package/lib/generated/elasticdisasterrecovery.js +1423 -0
- package/lib/generated/elasticfilesystem.js +609 -0
- package/lib/generated/elasticinference.js +106 -0
- package/lib/generated/elastickubernetesservice.js +1115 -0
- package/lib/generated/elasticloadbalancing.js +674 -0
- package/lib/generated/elasticloadbalancingv2.js +1065 -0
- package/lib/generated/elasticmapreduce.js +1138 -0
- package/lib/generated/elastictranscoder.js +256 -0
- package/lib/generated/elementalappliancesandsoftware.js +293 -0
- package/lib/generated/elementalappliancesandsoftwareactivationservice.js +212 -0
- package/lib/generated/elementalmediaconnect.js +725 -0
- package/lib/generated/elementalmediaconvert.js +538 -0
- package/lib/generated/elementalmedialive.js +940 -0
- package/lib/generated/elementalmediapackage.js +362 -0
- package/lib/generated/elementalmediapackagev2.js +452 -0
- package/lib/generated/elementalmediapackagevod.js +342 -0
- package/lib/generated/elementalmediastore.js +425 -0
- package/lib/generated/elementalmediatailor.js +716 -0
- package/lib/generated/elementalsupportcases.js +83 -0
- package/lib/generated/elementalsupportcontent.js +37 -0
- package/lib/generated/emroneksemrcontainers.js +429 -0
- package/lib/generated/emrserverless.js +312 -0
- package/lib/generated/entityresolution.js +465 -0
- package/lib/generated/eventbridge.js +1072 -0
- package/lib/generated/eventbridgepipes.js +254 -0
- package/lib/generated/eventbridgescheduler.js +295 -0
- package/lib/generated/eventbridgeschemas.js +494 -0
- package/lib/generated/faultinjectionservice.js +548 -0
- package/lib/generated/finspace.js +942 -0
- package/lib/generated/finspaceapi.js +49 -0
- package/lib/generated/firewallmanager.js +647 -0
- package/lib/generated/forecast.js +1202 -0
- package/lib/generated/frauddetector.js +1267 -0
- package/lib/generated/freertos.js +337 -0
- package/lib/generated/freetier.js +61 -0
- package/lib/generated/fsx.js +1032 -0
- package/lib/generated/gamelift.js +1504 -0
- package/lib/generated/globalaccelerator.js +790 -0
- package/lib/generated/glue.js +3054 -0
- package/lib/generated/gluedatabrew.js +709 -0
- package/lib/generated/groundstation.js +742 -0
- package/lib/generated/groundtruthlabeling.js +83 -0
- package/lib/generated/guardduty.js +982 -0
- package/lib/generated/healthapisandnotifications.js +262 -0
- package/lib/generated/healthimaging.js +326 -0
- package/lib/generated/healthlake.js +330 -0
- package/lib/generated/healthomics.js +1313 -0
- package/lib/generated/high-volumeoutboundcommunications.js +372 -0
- package/lib/generated/honeycode.js +420 -0
- package/lib/generated/iamaccessanalyzer.js +473 -0
- package/lib/generated/iamidentitycenteroidcservice.js +50 -0
- package/lib/generated/iamidentitycentersuccessortoawssinglesign-on.js +1731 -0
- package/lib/generated/iamidentitycentersuccessortoawssinglesign-ondirectory.js +600 -0
- package/lib/generated/identityandaccessmanagementiam.js +2524 -0
- package/lib/generated/identityandaccessmanagementrolesanywhere.js +488 -0
- package/lib/generated/identitystore.js +328 -0
- package/lib/generated/identitystoreauth.js +63 -0
- package/lib/generated/identitysync.js +195 -0
- package/lib/generated/importexportdiskservice.js +96 -0
- package/lib/generated/index.js +820 -0
- package/lib/generated/inspector.js +439 -0
- package/lib/generated/inspector2.js +815 -0
- package/lib/generated/inspectorscan.js +37 -0
- package/lib/generated/interactivevideoservice.js +951 -0
- package/lib/generated/interactivevideoservicechat.js +328 -0
- package/lib/generated/invoicingservice.js +72 -0
- package/lib/generated/iot.js +3850 -0
- package/lib/generated/iot1-click.js +415 -0
- package/lib/generated/iotanalytics.js +571 -0
- package/lib/generated/iotcoredeviceadvisor.js +284 -0
- package/lib/generated/iotdevicetester.js +83 -0
- package/lib/generated/iotevents.js +592 -0
- package/lib/generated/iotfleethubfordevicemanagement.js +201 -0
- package/lib/generated/iotfleetwise.js +869 -0
- package/lib/generated/iotgreengrass.js +1500 -0
- package/lib/generated/iotgreengrassv2.js +562 -0
- package/lib/generated/iotjobsdataplane.js +106 -0
- package/lib/generated/iotroborunner.js +375 -0
- package/lib/generated/iotsitewise.js +1332 -0
- package/lib/generated/iottwinmaker.js +709 -0
- package/lib/generated/iotwireless.js +1588 -0
- package/lib/generated/iq.js +896 -0
- package/lib/generated/iqpermissions.js +139 -0
- package/lib/generated/kendra.js +980 -0
- package/lib/generated/kendraintelligentranking.js +205 -0
- package/lib/generated/keymanagementservice.js +1574 -0
- package/lib/generated/keyspacesforapachecassandra.js +353 -0
- package/lib/generated/kinesisanalytics.js +293 -0
- package/lib/generated/kinesisanalyticsv2.js +447 -0
- package/lib/generated/kinesisdatastreams.js +426 -0
- package/lib/generated/kinesisfirehose.js +238 -0
- package/lib/generated/kinesisvideostreams.js +614 -0
- package/lib/generated/lakeformation.js +619 -0
- package/lib/generated/lambda.js +1168 -0
- package/lib/generated/launchwizard.js +393 -0
- package/lib/generated/lex.js +747 -0
- package/lib/generated/lexv2.js +1368 -0
- package/lib/generated/licensemanager.js +701 -0
- package/lib/generated/licensemanagerlinuxsubscriptionsmanager.js +72 -0
- package/lib/generated/licensemanagerusersubscriptions.js +149 -0
- package/lib/generated/lightsail.js +2257 -0
- package/lib/generated/location.js +931 -0
- package/lib/generated/lookoutforequipment.js +763 -0
- package/lib/generated/lookoutformetrics.js +487 -0
- package/lib/generated/lookoutforvision.js +395 -0
- package/lib/generated/machinelearning.js +392 -0
- package/lib/generated/macie.js +1079 -0
- package/lib/generated/mainframemodernizationservice.js +535 -0
- package/lib/generated/managedblockchain.js +604 -0
- package/lib/generated/managedblockchainquery.js +100 -0
- package/lib/generated/managedgrafana.js +341 -0
- package/lib/generated/managedserviceforprometheus.js +797 -0
- package/lib/generated/managedstreamingforapachekafka.js +880 -0
- package/lib/generated/managedstreamingforkafkaconnect.js +228 -0
- package/lib/generated/managedworkflowsforapacheairflow.js +259 -0
- package/lib/generated/marketplace.js +261 -0
- package/lib/generated/marketplacecatalog.js +340 -0
- package/lib/generated/marketplacecommerceanalyticsservice.js +44 -0
- package/lib/generated/marketplacedeploymentservice.js +173 -0
- package/lib/generated/marketplacediscovery.js +37 -0
- package/lib/generated/marketplaceentitlementservice.js +35 -0
- package/lib/generated/marketplaceimagebuildingservice.js +61 -0
- package/lib/generated/marketplacemanagementportal.js +173 -0
- package/lib/generated/marketplacemeteringservice.js +70 -0
- package/lib/generated/marketplaceprivatemarketplace.js +83 -0
- package/lib/generated/marketplaceprocurementsystemsintegration.js +50 -0
- package/lib/generated/marketplacesellerreporting.js +51 -0
- package/lib/generated/marketplacevendorinsights.js +479 -0
- package/lib/generated/mechanicalturk.js +459 -0
- package/lib/generated/mediaimport.js +37 -0
- package/lib/generated/memorydb.js +865 -0
- package/lib/generated/messagedeliveryservice.js +132 -0
- package/lib/generated/microserviceextractorfor-net.js +37 -0
- package/lib/generated/migrationaccelerationprogramcredits.js +71 -0
- package/lib/generated/migrationhub.js +288 -0
- package/lib/generated/migrationhuborchestrator.js +449 -0
- package/lib/generated/migrationhubrefactorspaces.js +671 -0
- package/lib/generated/migrationhubstrategyrecommendations.js +349 -0
- package/lib/generated/mobileanalytics.js +57 -0
- package/lib/generated/monitron.js +374 -0
- package/lib/generated/mq.js +416 -0
- package/lib/generated/neptune.js +440 -0
- package/lib/generated/neptuneanalytics.js +623 -0
- package/lib/generated/networkfirewall.js +594 -0
- package/lib/generated/networkmanager.js +1382 -0
- package/lib/generated/networkmanagerchat.js +105 -0
- package/lib/generated/nimblestudio.js +1053 -0
- package/lib/generated/oneenterprise.js +546 -0
- package/lib/generated/opensearchingestion.js +304 -0
- package/lib/generated/opensearchserverless.js +634 -0
- package/lib/generated/opensearchservice.js +1209 -0
- package/lib/generated/opsworks.js +861 -0
- package/lib/generated/opsworksconfigurationmanagement.js +262 -0
- package/lib/generated/organizations.js +946 -0
- package/lib/generated/outposts.js +437 -0
- package/lib/generated/panorama.js +548 -0
- package/lib/generated/partnercentralaccountmanagement.js +59 -0
- package/lib/generated/paymentcryptography.js +566 -0
- package/lib/generated/payments.js +107 -0
- package/lib/generated/performanceinsights.js +259 -0
- package/lib/generated/personalize.js +1122 -0
- package/lib/generated/pinpoint.js +1976 -0
- package/lib/generated/pinpointemailservice.js +908 -0
- package/lib/generated/pinpointsmsandvoiceservice.js +122 -0
- package/lib/generated/pinpointsmsvoicev2.js +1066 -0
- package/lib/generated/polly.js +145 -0
- package/lib/generated/pricelist.js +81 -0
- package/lib/generated/privatecaconnectorforactivedirectory.js +482 -0
- package/lib/generated/privatecertificateauthority.js +378 -0
- package/lib/generated/proton.js +1738 -0
- package/lib/generated/purchaseordersconsole.js +301 -0
- package/lib/generated/q.js +94 -0
- package/lib/generated/qbusiness.js +776 -0
- package/lib/generated/qinconnect.js +719 -0
- package/lib/generated/qldb.js +579 -0
- package/lib/generated/quicksight.js +2970 -0
- package/lib/generated/rds.js +3262 -0
- package/lib/generated/rdsdataapi.js +184 -0
- package/lib/generated/rdsiamauthentication.js +51 -0
- package/lib/generated/re-postprivate.js +229 -0
- package/lib/generated/recyclebin.js +292 -0
- package/lib/generated/redshift.js +2282 -0
- package/lib/generated/redshiftdataapi.js +217 -0
- package/lib/generated/redshiftserverless.js +884 -0
- package/lib/generated/rekognition.js +1025 -0
- package/lib/generated/resiliencehub.js +815 -0
- package/lib/generated/resourceaccessmanagerram.js +837 -0
- package/lib/generated/resourceexplorer.js +364 -0
- package/lib/generated/resourcegroups.js +347 -0
- package/lib/generated/resourcegrouptaggingapi.js +118 -0
- package/lib/generated/rhelknowledgebaseportal.js +37 -0
- package/lib/generated/robomaker.js +1000 -0
- package/lib/generated/route53.js +960 -0
- package/lib/generated/route53applicationrecoverycontroller-zonalshift.js +279 -0
- package/lib/generated/route53domains.js +406 -0
- package/lib/generated/route53recoverycluster.js +105 -0
- package/lib/generated/route53recoverycontrols.js +440 -0
- package/lib/generated/route53recoveryreadiness.js +539 -0
- package/lib/generated/route53resolver.js +1110 -0
- package/lib/generated/s3.js +5349 -0
- package/lib/generated/s3express.js +314 -0
- package/lib/generated/s3glacier.js +475 -0
- package/lib/generated/s3objectlambda.js +607 -0
- package/lib/generated/s3onoutposts.js +1505 -0
- package/lib/generated/sagemaker.js +6518 -0
- package/lib/generated/sagemakergeospatialcapabilities.js +416 -0
- package/lib/generated/sagemakergroundtruthsynthetic.js +138 -0
- package/lib/generated/savingsplans.js +218 -0
- package/lib/generated/secretsmanager.js +861 -0
- package/lib/generated/securityhub.js +1203 -0
- package/lib/generated/securitylake.js +680 -0
- package/lib/generated/securitytokenservice.js +1080 -0
- package/lib/generated/serverlessapplicationrepository.js +245 -0
- package/lib/generated/servermigrationservice.js +433 -0
- package/lib/generated/servicecatalog.js +1674 -0
- package/lib/generated/serviceprovidingmanagedprivatenetworks.js +508 -0
- package/lib/generated/servicequotas.js +325 -0
- package/lib/generated/ses.js +1256 -0
- package/lib/generated/sessionmanagermessagegatewayservice.js +102 -0
- package/lib/generated/shield.js +589 -0
- package/lib/generated/signer.js +369 -0
- package/lib/generated/simpledb.js +153 -0
- package/lib/generated/simpleemailservicev2.js +1790 -0
- package/lib/generated/simpleworkflowservice.js +992 -0
- package/lib/generated/simspaceweaver.js +282 -0
- package/lib/generated/snowball.js +327 -0
- package/lib/generated/snowdevicemanagement.js +274 -0
- package/lib/generated/sns.js +605 -0
- package/lib/generated/sqlworkbench.js +1017 -0
- package/lib/generated/sqs.js +328 -0
- package/lib/generated/stepfunctions.js +744 -0
- package/lib/generated/storagegateway.js +1304 -0
- package/lib/generated/supplychain.js +273 -0
- package/lib/generated/support.js +303 -0
- package/lib/generated/supportappinslack.js +171 -0
- package/lib/generated/supportplans.js +72 -0
- package/lib/generated/sustainability.js +37 -0
- package/lib/generated/systemsmanager.js +2419 -0
- package/lib/generated/systemsmanagerforsap.js +376 -0
- package/lib/generated/systemsmanagerguiconnect.js +61 -0
- package/lib/generated/systemsmanagerincidentmanager.js +505 -0
- package/lib/generated/systemsmanagerincidentmanagercontacts.js +619 -0
- package/lib/generated/tageditor.js +64 -0
- package/lib/generated/taxsettings.js +171 -0
- package/lib/generated/telconetworkbuilder.js +625 -0
- package/lib/generated/textract.js +427 -0
- package/lib/generated/timestream.js +648 -0
- package/lib/generated/tiros.js +83 -0
- package/lib/generated/transcribe.js +917 -0
- package/lib/generated/transferfamily.js +948 -0
- package/lib/generated/translate.js +338 -0
- package/lib/generated/trustedadvisor.js +605 -0
- package/lib/generated/usernotifications.js +363 -0
- package/lib/generated/usernotificationscontacts.js +204 -0
- package/lib/generated/verifiedaccess.js +37 -0
- package/lib/generated/verifiedpermissions.js +306 -0
- package/lib/generated/vpclattice.js +1187 -0
- package/lib/generated/vpclatticeservices.js +171 -0
- package/lib/generated/waf.js +1122 -0
- package/lib/generated/wafregional.js +1192 -0
- package/lib/generated/wafv2.js +964 -0
- package/lib/generated/well-architectedtool.js +967 -0
- package/lib/generated/wickr.js +179 -0
- package/lib/generated/workdocs.js +679 -0
- package/lib/generated/worklink.js +491 -0
- package/lib/generated/workmail.js +1593 -0
- package/lib/generated/workmailmessageflow.js +65 -0
- package/lib/generated/workspaces.js +1141 -0
- package/lib/generated/workspacesapplicationmanager.js +37 -0
- package/lib/generated/workspacesthinclient.js +312 -0
- package/lib/generated/workspacesweb.js +936 -0
- package/lib/generated/x-ray.js +517 -0
- package/lib/index.js +20 -0
- package/lib/shared/access-level.js +46 -0
- package/lib/shared/all.js +21 -0
- package/lib/shared/index.js +20 -0
- package/lib/shared/operators.js +247 -0
- package/lib/shared/policy-statement/1-base.js +38 -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 +51 -0
- package/lib/shared/policy-statement/6-principals.js +207 -0
- package/lib/shared/policy-statement/9-final.js +22 -0
- package/lib/shared/policy-statement/index.js +19 -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,270 @@
|
|
|
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
|
+
* Statement provider for service [account](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsaccountmanagement.html).
|
|
13
|
+
*
|
|
14
|
+
* @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement
|
|
15
|
+
*/
|
|
16
|
+
constructor(sid) {
|
|
17
|
+
super(sid);
|
|
18
|
+
this.servicePrefix = 'account';
|
|
19
|
+
this.accessLevelList = {
|
|
20
|
+
Write: [
|
|
21
|
+
'CloseAccount',
|
|
22
|
+
'DeleteAlternateContact',
|
|
23
|
+
'DisableRegion',
|
|
24
|
+
'EnableRegion',
|
|
25
|
+
'PutAlternateContact',
|
|
26
|
+
'PutChallengeQuestions',
|
|
27
|
+
'PutContactInformation'
|
|
28
|
+
],
|
|
29
|
+
Read: [
|
|
30
|
+
'GetAccountInformation',
|
|
31
|
+
'GetAlternateContact',
|
|
32
|
+
'GetChallengeQuestions',
|
|
33
|
+
'GetContactInformation',
|
|
34
|
+
'GetRegionOptStatus'
|
|
35
|
+
],
|
|
36
|
+
List: [
|
|
37
|
+
'ListRegions'
|
|
38
|
+
]
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Grants permission to close an account
|
|
43
|
+
*
|
|
44
|
+
* Access Level: Write
|
|
45
|
+
*
|
|
46
|
+
* https://docs.aws.amazon.com/accounts/latest/reference/security_account-permissions-ref.html
|
|
47
|
+
*/
|
|
48
|
+
toCloseAccount() {
|
|
49
|
+
return this.to('CloseAccount');
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Grants permission to delete the alternate contacts for an account
|
|
53
|
+
*
|
|
54
|
+
* Access Level: Write
|
|
55
|
+
*
|
|
56
|
+
* Possible conditions:
|
|
57
|
+
* - .ifAlternateContactTypes()
|
|
58
|
+
*
|
|
59
|
+
* https://docs.aws.amazon.com/accounts/latest/reference/API_DeleteAlternateContact.html
|
|
60
|
+
*/
|
|
61
|
+
toDeleteAlternateContact() {
|
|
62
|
+
return this.to('DeleteAlternateContact');
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Grants permission to disable use of a Region
|
|
66
|
+
*
|
|
67
|
+
* Access Level: Write
|
|
68
|
+
*
|
|
69
|
+
* Possible conditions:
|
|
70
|
+
* - .ifTargetRegion()
|
|
71
|
+
*
|
|
72
|
+
* https://docs.aws.amazon.com/accounts/latest/reference/API_DisableRegion.html
|
|
73
|
+
*/
|
|
74
|
+
toDisableRegion() {
|
|
75
|
+
return this.to('DisableRegion');
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Grants permission to enable use of a Region
|
|
79
|
+
*
|
|
80
|
+
* Access Level: Write
|
|
81
|
+
*
|
|
82
|
+
* Possible conditions:
|
|
83
|
+
* - .ifTargetRegion()
|
|
84
|
+
*
|
|
85
|
+
* https://docs.aws.amazon.com/accounts/latest/reference/API_EnableRegion.html
|
|
86
|
+
*/
|
|
87
|
+
toEnableRegion() {
|
|
88
|
+
return this.to('EnableRegion');
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Grants permission to retrieve the account information for an account
|
|
92
|
+
*
|
|
93
|
+
* Access Level: Read
|
|
94
|
+
*
|
|
95
|
+
* https://docs.aws.amazon.com/accounts/latest/reference/security_account-permissions-ref.html
|
|
96
|
+
*/
|
|
97
|
+
toGetAccountInformation() {
|
|
98
|
+
return this.to('GetAccountInformation');
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Grants permission to retrieve the alternate contacts for an account
|
|
102
|
+
*
|
|
103
|
+
* Access Level: Read
|
|
104
|
+
*
|
|
105
|
+
* Possible conditions:
|
|
106
|
+
* - .ifAlternateContactTypes()
|
|
107
|
+
*
|
|
108
|
+
* https://docs.aws.amazon.com/accounts/latest/reference/API_GetAlternateContact.html
|
|
109
|
+
*/
|
|
110
|
+
toGetAlternateContact() {
|
|
111
|
+
return this.to('GetAlternateContact');
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Grants permission to retrieve the challenge questions for an account
|
|
115
|
+
*
|
|
116
|
+
* Access Level: Read
|
|
117
|
+
*
|
|
118
|
+
* https://docs.aws.amazon.com/accounts/latest/reference/security_account-permissions-ref.html
|
|
119
|
+
*/
|
|
120
|
+
toGetChallengeQuestions() {
|
|
121
|
+
return this.to('GetChallengeQuestions');
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Grants permission to retrieve the primary contact information for an account
|
|
125
|
+
*
|
|
126
|
+
* Access Level: Read
|
|
127
|
+
*
|
|
128
|
+
* https://docs.aws.amazon.com/accounts/latest/reference/API_GetContactInformation.html
|
|
129
|
+
*/
|
|
130
|
+
toGetContactInformation() {
|
|
131
|
+
return this.to('GetContactInformation');
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Grants permission to get the opt-in status of a Region
|
|
135
|
+
*
|
|
136
|
+
* Access Level: Read
|
|
137
|
+
*
|
|
138
|
+
* Possible conditions:
|
|
139
|
+
* - .ifTargetRegion()
|
|
140
|
+
*
|
|
141
|
+
* https://docs.aws.amazon.com/accounts/latest/reference/API_GetRegionOptStatus.html
|
|
142
|
+
*/
|
|
143
|
+
toGetRegionOptStatus() {
|
|
144
|
+
return this.to('GetRegionOptStatus');
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Grants permission to list the available Regions
|
|
148
|
+
*
|
|
149
|
+
* Access Level: List
|
|
150
|
+
*
|
|
151
|
+
* https://docs.aws.amazon.com/accounts/latest/reference/API_ListRegions.html
|
|
152
|
+
*/
|
|
153
|
+
toListRegions() {
|
|
154
|
+
return this.to('ListRegions');
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Grants permission to modify the alternate contacts for an account
|
|
158
|
+
*
|
|
159
|
+
* Access Level: Write
|
|
160
|
+
*
|
|
161
|
+
* Possible conditions:
|
|
162
|
+
* - .ifAlternateContactTypes()
|
|
163
|
+
*
|
|
164
|
+
* https://docs.aws.amazon.com/accounts/latest/reference/API_PutAlternateContact.html
|
|
165
|
+
*/
|
|
166
|
+
toPutAlternateContact() {
|
|
167
|
+
return this.to('PutAlternateContact');
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Grants permission to modify the challenge questions for an account
|
|
171
|
+
*
|
|
172
|
+
* Access Level: Write
|
|
173
|
+
*
|
|
174
|
+
* https://docs.aws.amazon.com/accounts/latest/reference/security_account-permissions-ref.html
|
|
175
|
+
*/
|
|
176
|
+
toPutChallengeQuestions() {
|
|
177
|
+
return this.to('PutChallengeQuestions');
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Grants permission to update the primary contact information for an account
|
|
181
|
+
*
|
|
182
|
+
* Access Level: Write
|
|
183
|
+
*
|
|
184
|
+
* https://docs.aws.amazon.com/accounts/latest/reference/API_PutContactInformation.html
|
|
185
|
+
*/
|
|
186
|
+
toPutContactInformation() {
|
|
187
|
+
return this.to('PutContactInformation');
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Adds a resource of type account to the statement
|
|
191
|
+
*
|
|
192
|
+
* https://docs.aws.amazon.com/accounts/latest/reference/security_iam_service-with-iam.html#security_iam_service-with-iam-id-based-policies-resources
|
|
193
|
+
*
|
|
194
|
+
* @param account - Account of the resource; defaults to empty string: all accounts.
|
|
195
|
+
* @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.
|
|
196
|
+
*/
|
|
197
|
+
onAccount(account, partition) {
|
|
198
|
+
return this.on(`arn:${partition || Account.defaultPartition}:account::${account || '*'}:account`);
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Adds a resource of type accountInOrganization to the statement
|
|
202
|
+
*
|
|
203
|
+
* https://docs.aws.amazon.com/accounts/latest/reference/security_iam_service-with-iam.html#security_iam_service-with-iam-id-based-policies-resources
|
|
204
|
+
*
|
|
205
|
+
* @param managementAccountId - Identifier for the managementAccountId.
|
|
206
|
+
* @param organizationId - Identifier for the organizationId.
|
|
207
|
+
* @param memberAccountId - Identifier for the memberAccountId.
|
|
208
|
+
* @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.
|
|
209
|
+
*/
|
|
210
|
+
onAccountInOrganization(managementAccountId, organizationId, memberAccountId, partition) {
|
|
211
|
+
return this.on(`arn:${partition || Account.defaultPartition}:account::${managementAccountId}:account/o-${organizationId}/${memberAccountId}`);
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Filters access by the resource path for an account in an organization
|
|
215
|
+
*
|
|
216
|
+
* https://docs.aws.amazon.com/accounts/latest/reference/security_iam_service-with-iam.html#security_iam_service-with-iam-id-based-policies-conditionkeys
|
|
217
|
+
*
|
|
218
|
+
* @param value The value(s) to check
|
|
219
|
+
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
|
|
220
|
+
*/
|
|
221
|
+
ifAccountResourceOrgPaths(value, operator) {
|
|
222
|
+
return this.if(`AccountResourceOrgPaths`, value, operator || 'StringLike');
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Filters access by resource tags for an account in an organization
|
|
226
|
+
*
|
|
227
|
+
* https://docs.aws.amazon.com/accounts/latest/reference/security_iam_service-with-iam.html#security_iam_service-with-iam-id-based-policies-conditionkeys
|
|
228
|
+
*
|
|
229
|
+
* @param tagKey The tag key to check
|
|
230
|
+
* @param value The value(s) to check
|
|
231
|
+
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
|
|
232
|
+
*/
|
|
233
|
+
ifAccountResourceOrgTags(tagKey, value, operator) {
|
|
234
|
+
return this.if(`AccountResourceOrgTags/${tagKey}`, value, operator || 'StringLike');
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Filters access by alternate contact types
|
|
238
|
+
*
|
|
239
|
+
* https://docs.aws.amazon.com/accounts/latest/reference/security_iam_service-with-iam.html#security_iam_service-with-iam-id-based-policies-conditionkeys
|
|
240
|
+
*
|
|
241
|
+
* Applies to actions:
|
|
242
|
+
* - .toDeleteAlternateContact()
|
|
243
|
+
* - .toGetAlternateContact()
|
|
244
|
+
* - .toPutAlternateContact()
|
|
245
|
+
*
|
|
246
|
+
* @param value The value(s) to check
|
|
247
|
+
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
|
|
248
|
+
*/
|
|
249
|
+
ifAlternateContactTypes(value, operator) {
|
|
250
|
+
return this.if(`AlternateContactTypes`, value, operator || 'StringLike');
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Filters access by a list of Regions. Enables or disables all the Regions specified here
|
|
254
|
+
*
|
|
255
|
+
* https://docs.aws.amazon.com/accounts/latest/reference/security_iam_service-with-iam.html#security_iam_service-with-iam-id-based-policies-conditionkeys
|
|
256
|
+
*
|
|
257
|
+
* Applies to actions:
|
|
258
|
+
* - .toDisableRegion()
|
|
259
|
+
* - .toEnableRegion()
|
|
260
|
+
* - .toGetRegionOptStatus()
|
|
261
|
+
*
|
|
262
|
+
* @param value The value(s) to check
|
|
263
|
+
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
|
|
264
|
+
*/
|
|
265
|
+
ifTargetRegion(value, operator) {
|
|
266
|
+
return this.if(`TargetRegion`, value, operator || 'StringLike');
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
exports.Account = Account;
|
|
270
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudG1hbmFnZW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJhY2NvdW50bWFuYWdlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxzQ0FBc0Q7QUFFdEQ7Ozs7R0FJRztBQUNILE1BQWEsT0FBUSxTQUFRLHdCQUFlO0lBRzFDOzs7O09BSUc7SUFDSCxZQUFZLEdBQVk7UUFDdEIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBUk4sa0JBQWEsR0FBRyxTQUFTLENBQUM7UUE0S3ZCLG9CQUFlLEdBQW9CO1lBQzNDLEtBQUssRUFBRTtnQkFDTCxjQUFjO2dCQUNkLHdCQUF3QjtnQkFDeEIsZUFBZTtnQkFDZixjQUFjO2dCQUNkLHFCQUFxQjtnQkFDckIsdUJBQXVCO2dCQUN2Qix1QkFBdUI7YUFDeEI7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osdUJBQXVCO2dCQUN2QixxQkFBcUI7Z0JBQ3JCLHVCQUF1QjtnQkFDdkIsdUJBQXVCO2dCQUN2QixvQkFBb0I7YUFDckI7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osYUFBYTthQUNkO1NBQ0YsQ0FBQztJQXZMRixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksY0FBYztRQUNuQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNJLHdCQUF3QjtRQUM3QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0ksZUFBZTtRQUNwQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNJLGNBQWM7UUFDbkIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSx1QkFBdUI7UUFDNUIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNJLHFCQUFxQjtRQUMxQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksdUJBQXVCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSx1QkFBdUI7UUFDNUIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNJLG9CQUFvQjtRQUN6QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksYUFBYTtRQUNsQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNJLHFCQUFxQjtRQUMxQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksdUJBQXVCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSx1QkFBdUI7UUFDNUIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDMUMsQ0FBQztJQXdCRDs7Ozs7OztPQU9HO0lBQ0ksU0FBUyxDQUFDLE9BQWdCLEVBQUUsU0FBa0I7UUFDbkQsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQVEsU0FBUyxJQUFJLE9BQU8sQ0FBQyxnQkFBaUIsYUFBYyxPQUFPLElBQUksR0FBSSxVQUFVLENBQUMsQ0FBQztJQUN4RyxDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0ksdUJBQXVCLENBQUMsbUJBQTJCLEVBQUUsY0FBc0IsRUFBRSxlQUF1QixFQUFFLFNBQWtCO1FBQzdILE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFRLFNBQVMsSUFBSSxPQUFPLENBQUMsZ0JBQWlCLGFBQWMsbUJBQW9CLGNBQWUsY0FBZSxJQUFLLGVBQWdCLEVBQUUsQ0FBQyxDQUFDO0lBQ3hKLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0kseUJBQXlCLENBQUMsS0FBd0IsRUFBRSxRQUE0QjtRQUNyRixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMseUJBQXlCLEVBQUUsS0FBSyxFQUFFLFFBQVEsSUFBSSxZQUFZLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSSx3QkFBd0IsQ0FBQyxNQUFjLEVBQUUsS0FBd0IsRUFBRSxRQUE0QjtRQUNwRyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsMEJBQTJCLE1BQU8sRUFBRSxFQUFFLEtBQUssRUFBRSxRQUFRLElBQUksWUFBWSxDQUFDLENBQUM7SUFDeEYsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7T0FZRztJQUNJLHVCQUF1QixDQUFDLEtBQXdCLEVBQUUsUUFBNEI7UUFDbkYsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHVCQUF1QixFQUFFLEtBQUssRUFBRSxRQUFRLElBQUksWUFBWSxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7T0FZRztJQUNJLGNBQWMsQ0FBQyxLQUF3QixFQUFFLFFBQTRCO1FBQzFFLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxjQUFjLEVBQUUsS0FBSyxFQUFFLFFBQVEsSUFBSSxZQUFZLENBQUMsQ0FBQztJQUNsRSxDQUFDO0NBQ0Y7QUF2UkQsMEJBdVJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWNjZXNzTGV2ZWxMaXN0IH0gZnJvbSAnLi4vc2hhcmVkL2FjY2Vzcy1sZXZlbCc7XG5pbXBvcnQgeyBQb2xpY3lTdGF0ZW1lbnQsIE9wZXJhdG9yIH0gZnJvbSAnLi4vc2hhcmVkJztcblxuLyoqXG4gKiBTdGF0ZW1lbnQgcHJvdmlkZXIgZm9yIHNlcnZpY2UgW2FjY291bnRdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zZXJ2aWNlLWF1dGhvcml6YXRpb24vbGF0ZXN0L3JlZmVyZW5jZS9saXN0X2F3c2FjY291bnRtYW5hZ2VtZW50Lmh0bWwpLlxuICpcbiAqIEBwYXJhbSBzaWQgW1NJRF0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0lBTS9sYXRlc3QvVXNlckd1aWRlL3JlZmVyZW5jZV9wb2xpY2llc19lbGVtZW50c19zaWQuaHRtbCkgb2YgdGhlIHN0YXRlbWVudFxuICovXG5leHBvcnQgY2xhc3MgQWNjb3VudCBleHRlbmRzIFBvbGljeVN0YXRlbWVudCB7XG4gIHB1YmxpYyBzZXJ2aWNlUHJlZml4ID0gJ2FjY291bnQnO1xuXG4gIC8qKlxuICAgKiBTdGF0ZW1lbnQgcHJvdmlkZXIgZm9yIHNlcnZpY2UgW2FjY291bnRdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zZXJ2aWNlLWF1dGhvcml6YXRpb24vbGF0ZXN0L3JlZmVyZW5jZS9saXN0X2F3c2FjY291bnRtYW5hZ2VtZW50Lmh0bWwpLlxuICAgKlxuICAgKiBAcGFyYW0gc2lkIFtTSURdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9JQU0vbGF0ZXN0L1VzZXJHdWlkZS9yZWZlcmVuY2VfcG9saWNpZXNfZWxlbWVudHNfc2lkLmh0bWwpIG9mIHRoZSBzdGF0ZW1lbnRcbiAgICovXG4gIGNvbnN0cnVjdG9yKHNpZD86IHN0cmluZykge1xuICAgIHN1cGVyKHNpZCk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gY2xvc2UgYW4gYWNjb3VudFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hY2NvdW50cy9sYXRlc3QvcmVmZXJlbmNlL3NlY3VyaXR5X2FjY291bnQtcGVybWlzc2lvbnMtcmVmLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0Nsb3NlQWNjb3VudCgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnQ2xvc2VBY2NvdW50Jyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVsZXRlIHRoZSBhbHRlcm5hdGUgY29udGFjdHMgZm9yIGFuIGFjY291bnRcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZkFsdGVybmF0ZUNvbnRhY3RUeXBlcygpXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hY2NvdW50cy9sYXRlc3QvcmVmZXJlbmNlL0FQSV9EZWxldGVBbHRlcm5hdGVDb250YWN0Lmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0RlbGV0ZUFsdGVybmF0ZUNvbnRhY3QoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0RlbGV0ZUFsdGVybmF0ZUNvbnRhY3QnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBkaXNhYmxlIHVzZSBvZiBhIFJlZ2lvblxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIFBvc3NpYmxlIGNvbmRpdGlvbnM6XG4gICAqIC0gLmlmVGFyZ2V0UmVnaW9uKClcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FjY291bnRzL2xhdGVzdC9yZWZlcmVuY2UvQVBJX0Rpc2FibGVSZWdpb24uaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGlzYWJsZVJlZ2lvbigpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGlzYWJsZVJlZ2lvbicpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGVuYWJsZSB1c2Ugb2YgYSBSZWdpb25cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZlRhcmdldFJlZ2lvbigpXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hY2NvdW50cy9sYXRlc3QvcmVmZXJlbmNlL0FQSV9FbmFibGVSZWdpb24uaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRW5hYmxlUmVnaW9uKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdFbmFibGVSZWdpb24nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXRyaWV2ZSB0aGUgYWNjb3VudCBpbmZvcm1hdGlvbiBmb3IgYW4gYWNjb3VudFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FjY291bnRzL2xhdGVzdC9yZWZlcmVuY2Uvc2VjdXJpdHlfYWNjb3VudC1wZXJtaXNzaW9ucy1yZWYuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvR2V0QWNjb3VudEluZm9ybWF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdHZXRBY2NvdW50SW5mb3JtYXRpb24nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXRyaWV2ZSB0aGUgYWx0ZXJuYXRlIGNvbnRhY3RzIGZvciBhbiBhY2NvdW50XG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZkFsdGVybmF0ZUNvbnRhY3RUeXBlcygpXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hY2NvdW50cy9sYXRlc3QvcmVmZXJlbmNlL0FQSV9HZXRBbHRlcm5hdGVDb250YWN0Lmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0dldEFsdGVybmF0ZUNvbnRhY3QoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0dldEFsdGVybmF0ZUNvbnRhY3QnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXRyaWV2ZSB0aGUgY2hhbGxlbmdlIHF1ZXN0aW9ucyBmb3IgYW4gYWNjb3VudFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFJlYWRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FjY291bnRzL2xhdGVzdC9yZWZlcmVuY2Uvc2VjdXJpdHlfYWNjb3VudC1wZXJtaXNzaW9ucy1yZWYuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvR2V0Q2hhbGxlbmdlUXVlc3Rpb25zKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdHZXRDaGFsbGVuZ2VRdWVzdGlvbnMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byByZXRyaWV2ZSB0aGUgcHJpbWFyeSBjb250YWN0IGluZm9ybWF0aW9uIGZvciBhbiBhY2NvdW50XG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYWNjb3VudHMvbGF0ZXN0L3JlZmVyZW5jZS9BUElfR2V0Q29udGFjdEluZm9ybWF0aW9uLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0dldENvbnRhY3RJbmZvcm1hdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy50bygnR2V0Q29udGFjdEluZm9ybWF0aW9uJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZ2V0IHRoZSBvcHQtaW4gc3RhdHVzIG9mIGEgUmVnaW9uXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZlRhcmdldFJlZ2lvbigpXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hY2NvdW50cy9sYXRlc3QvcmVmZXJlbmNlL0FQSV9HZXRSZWdpb25PcHRTdGF0dXMuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvR2V0UmVnaW9uT3B0U3RhdHVzKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdHZXRSZWdpb25PcHRTdGF0dXMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBsaXN0IHRoZSBhdmFpbGFibGUgUmVnaW9uc1xuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IExpc3RcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FjY291bnRzL2xhdGVzdC9yZWZlcmVuY2UvQVBJX0xpc3RSZWdpb25zLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0xpc3RSZWdpb25zKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdMaXN0UmVnaW9ucycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIG1vZGlmeSB0aGUgYWx0ZXJuYXRlIGNvbnRhY3RzIGZvciBhbiBhY2NvdW50XG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZBbHRlcm5hdGVDb250YWN0VHlwZXMoKVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYWNjb3VudHMvbGF0ZXN0L3JlZmVyZW5jZS9BUElfUHV0QWx0ZXJuYXRlQ29udGFjdC5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9QdXRBbHRlcm5hdGVDb250YWN0KCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdQdXRBbHRlcm5hdGVDb250YWN0Jyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gbW9kaWZ5IHRoZSBjaGFsbGVuZ2UgcXVlc3Rpb25zIGZvciBhbiBhY2NvdW50XG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FjY291bnRzL2xhdGVzdC9yZWZlcmVuY2Uvc2VjdXJpdHlfYWNjb3VudC1wZXJtaXNzaW9ucy1yZWYuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvUHV0Q2hhbGxlbmdlUXVlc3Rpb25zKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdQdXRDaGFsbGVuZ2VRdWVzdGlvbnMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byB1cGRhdGUgdGhlIHByaW1hcnkgY29udGFjdCBpbmZvcm1hdGlvbiBmb3IgYW4gYWNjb3VudFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hY2NvdW50cy9sYXRlc3QvcmVmZXJlbmNlL0FQSV9QdXRDb250YWN0SW5mb3JtYXRpb24uaHRtbFxuICAgKi9cbiAgcHVibGljIHRvUHV0Q29udGFjdEluZm9ybWF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdQdXRDb250YWN0SW5mb3JtYXRpb24nKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhY2Nlc3NMZXZlbExpc3Q6IEFjY2Vzc0xldmVsTGlzdCA9IHtcbiAgICBXcml0ZTogW1xuICAgICAgJ0Nsb3NlQWNjb3VudCcsXG4gICAgICAnRGVsZXRlQWx0ZXJuYXRlQ29udGFjdCcsXG4gICAgICAnRGlzYWJsZVJlZ2lvbicsXG4gICAgICAnRW5hYmxlUmVnaW9uJyxcbiAgICAgICdQdXRBbHRlcm5hdGVDb250YWN0JyxcbiAgICAgICdQdXRDaGFsbGVuZ2VRdWVzdGlvbnMnLFxuICAgICAgJ1B1dENvbnRhY3RJbmZvcm1hdGlvbidcbiAgICBdLFxuICAgIFJlYWQ6IFtcbiAgICAgICdHZXRBY2NvdW50SW5mb3JtYXRpb24nLFxuICAgICAgJ0dldEFsdGVybmF0ZUNvbnRhY3QnLFxuICAgICAgJ0dldENoYWxsZW5nZVF1ZXN0aW9ucycsXG4gICAgICAnR2V0Q29udGFjdEluZm9ybWF0aW9uJyxcbiAgICAgICdHZXRSZWdpb25PcHRTdGF0dXMnXG4gICAgXSxcbiAgICBMaXN0OiBbXG4gICAgICAnTGlzdFJlZ2lvbnMnXG4gICAgXVxuICB9O1xuXG4gIC8qKlxuICAgKiBBZGRzIGEgcmVzb3VyY2Ugb2YgdHlwZSBhY2NvdW50IHRvIHRoZSBzdGF0ZW1lbnRcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FjY291bnRzL2xhdGVzdC9yZWZlcmVuY2Uvc2VjdXJpdHlfaWFtX3NlcnZpY2Utd2l0aC1pYW0uaHRtbCNzZWN1cml0eV9pYW1fc2VydmljZS13aXRoLWlhbS1pZC1iYXNlZC1wb2xpY2llcy1yZXNvdXJjZXNcbiAgICpcbiAgICogQHBhcmFtIGFjY291bnQgLSBBY2NvdW50IG9mIHRoZSByZXNvdXJjZTsgZGVmYXVsdHMgdG8gZW1wdHkgc3RyaW5nOiBhbGwgYWNjb3VudHMuXG4gICAqIEBwYXJhbSBwYXJ0aXRpb24gLSBQYXJ0aXRpb24gb2YgdGhlIEFXUyBhY2NvdW50IFthd3MsIGF3cy1jbiwgYXdzLXVzLWdvdl07IGRlZmF1bHRzIHRvIGBhd3NgLCB1bmxlc3MgdXNpbmcgdGhlIENESywgd2hlcmUgdGhlIGRlZmF1bHQgaXMgdGhlIGN1cnJlbnQgU3RhY2sncyBwYXJ0aXRpb24uXG4gICAqL1xuICBwdWJsaWMgb25BY2NvdW50KGFjY291bnQ/OiBzdHJpbmcsIHBhcnRpdGlvbj86IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLm9uKGBhcm46JHsgcGFydGl0aW9uIHx8IEFjY291bnQuZGVmYXVsdFBhcnRpdGlvbiB9OmFjY291bnQ6OiR7IGFjY291bnQgfHwgJyonIH06YWNjb3VudGApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSByZXNvdXJjZSBvZiB0eXBlIGFjY291bnRJbk9yZ2FuaXphdGlvbiB0byB0aGUgc3RhdGVtZW50XG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hY2NvdW50cy9sYXRlc3QvcmVmZXJlbmNlL3NlY3VyaXR5X2lhbV9zZXJ2aWNlLXdpdGgtaWFtLmh0bWwjc2VjdXJpdHlfaWFtX3NlcnZpY2Utd2l0aC1pYW0taWQtYmFzZWQtcG9saWNpZXMtcmVzb3VyY2VzXG4gICAqXG4gICAqIEBwYXJhbSBtYW5hZ2VtZW50QWNjb3VudElkIC0gSWRlbnRpZmllciBmb3IgdGhlIG1hbmFnZW1lbnRBY2NvdW50SWQuXG4gICAqIEBwYXJhbSBvcmdhbml6YXRpb25JZCAtIElkZW50aWZpZXIgZm9yIHRoZSBvcmdhbml6YXRpb25JZC5cbiAgICogQHBhcmFtIG1lbWJlckFjY291bnRJZCAtIElkZW50aWZpZXIgZm9yIHRoZSBtZW1iZXJBY2NvdW50SWQuXG4gICAqIEBwYXJhbSBwYXJ0aXRpb24gLSBQYXJ0aXRpb24gb2YgdGhlIEFXUyBhY2NvdW50IFthd3MsIGF3cy1jbiwgYXdzLXVzLWdvdl07IGRlZmF1bHRzIHRvIGBhd3NgLCB1bmxlc3MgdXNpbmcgdGhlIENESywgd2hlcmUgdGhlIGRlZmF1bHQgaXMgdGhlIGN1cnJlbnQgU3RhY2sncyBwYXJ0aXRpb24uXG4gICAqL1xuICBwdWJsaWMgb25BY2NvdW50SW5Pcmdhbml6YXRpb24obWFuYWdlbWVudEFjY291bnRJZDogc3RyaW5nLCBvcmdhbml6YXRpb25JZDogc3RyaW5nLCBtZW1iZXJBY2NvdW50SWQ6IHN0cmluZywgcGFydGl0aW9uPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMub24oYGFybjokeyBwYXJ0aXRpb24gfHwgQWNjb3VudC5kZWZhdWx0UGFydGl0aW9uIH06YWNjb3VudDo6JHsgbWFuYWdlbWVudEFjY291bnRJZCB9OmFjY291bnQvby0keyBvcmdhbml6YXRpb25JZCB9LyR7IG1lbWJlckFjY291bnRJZCB9YCk7XG4gIH1cblxuICAvKipcbiAgICogRmlsdGVycyBhY2Nlc3MgYnkgdGhlIHJlc291cmNlIHBhdGggZm9yIGFuIGFjY291bnQgaW4gYW4gb3JnYW5pemF0aW9uXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hY2NvdW50cy9sYXRlc3QvcmVmZXJlbmNlL3NlY3VyaXR5X2lhbV9zZXJ2aWNlLXdpdGgtaWFtLmh0bWwjc2VjdXJpdHlfaWFtX3NlcnZpY2Utd2l0aC1pYW0taWQtYmFzZWQtcG9saWNpZXMtY29uZGl0aW9ua2V5c1xuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlKHMpIHRvIGNoZWNrXG4gICAqIEBwYXJhbSBvcGVyYXRvciBXb3JrcyB3aXRoIFtzdHJpbmcgb3BlcmF0b3JzXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vSUFNL2xhdGVzdC9Vc2VyR3VpZGUvcmVmZXJlbmNlX3BvbGljaWVzX2VsZW1lbnRzX2NvbmRpdGlvbl9vcGVyYXRvcnMuaHRtbCNDb25kaXRpb25zX1N0cmluZykuICoqRGVmYXVsdDoqKiBgU3RyaW5nTGlrZWBcbiAgICovXG4gIHB1YmxpYyBpZkFjY291bnRSZXNvdXJjZU9yZ1BhdGhzKHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSwgb3BlcmF0b3I/OiBPcGVyYXRvciB8IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmlmKGBBY2NvdW50UmVzb3VyY2VPcmdQYXRoc2AsIHZhbHVlLCBvcGVyYXRvciB8fCAnU3RyaW5nTGlrZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbHRlcnMgYWNjZXNzIGJ5IHJlc291cmNlIHRhZ3MgZm9yIGFuIGFjY291bnQgaW4gYW4gb3JnYW5pemF0aW9uXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hY2NvdW50cy9sYXRlc3QvcmVmZXJlbmNlL3NlY3VyaXR5X2lhbV9zZXJ2aWNlLXdpdGgtaWFtLmh0bWwjc2VjdXJpdHlfaWFtX3NlcnZpY2Utd2l0aC1pYW0taWQtYmFzZWQtcG9saWNpZXMtY29uZGl0aW9ua2V5c1xuICAgKlxuICAgKiBAcGFyYW0gdGFnS2V5IFRoZSB0YWcga2V5IHRvIGNoZWNrXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUocykgdG8gY2hlY2tcbiAgICogQHBhcmFtIG9wZXJhdG9yIFdvcmtzIHdpdGggW3N0cmluZyBvcGVyYXRvcnNdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9JQU0vbGF0ZXN0L1VzZXJHdWlkZS9yZWZlcmVuY2VfcG9saWNpZXNfZWxlbWVudHNfY29uZGl0aW9uX29wZXJhdG9ycy5odG1sI0NvbmRpdGlvbnNfU3RyaW5nKS4gKipEZWZhdWx0OioqIGBTdHJpbmdMaWtlYFxuICAgKi9cbiAgcHVibGljIGlmQWNjb3VudFJlc291cmNlT3JnVGFncyh0YWdLZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdLCBvcGVyYXRvcj86IE9wZXJhdG9yIHwgc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaWYoYEFjY291bnRSZXNvdXJjZU9yZ1RhZ3MvJHsgdGFnS2V5IH1gLCB2YWx1ZSwgb3BlcmF0b3IgfHwgJ1N0cmluZ0xpa2UnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaWx0ZXJzIGFjY2VzcyBieSBhbHRlcm5hdGUgY29udGFjdCB0eXBlc1xuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYWNjb3VudHMvbGF0ZXN0L3JlZmVyZW5jZS9zZWN1cml0eV9pYW1fc2VydmljZS13aXRoLWlhbS5odG1sI3NlY3VyaXR5X2lhbV9zZXJ2aWNlLXdpdGgtaWFtLWlkLWJhc2VkLXBvbGljaWVzLWNvbmRpdGlvbmtleXNcbiAgICpcbiAgICogQXBwbGllcyB0byBhY3Rpb25zOlxuICAgKiAtIC50b0RlbGV0ZUFsdGVybmF0ZUNvbnRhY3QoKVxuICAgKiAtIC50b0dldEFsdGVybmF0ZUNvbnRhY3QoKVxuICAgKiAtIC50b1B1dEFsdGVybmF0ZUNvbnRhY3QoKVxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlKHMpIHRvIGNoZWNrXG4gICAqIEBwYXJhbSBvcGVyYXRvciBXb3JrcyB3aXRoIFtzdHJpbmcgb3BlcmF0b3JzXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vSUFNL2xhdGVzdC9Vc2VyR3VpZGUvcmVmZXJlbmNlX3BvbGljaWVzX2VsZW1lbnRzX2NvbmRpdGlvbl9vcGVyYXRvcnMuaHRtbCNDb25kaXRpb25zX1N0cmluZykuICoqRGVmYXVsdDoqKiBgU3RyaW5nTGlrZWBcbiAgICovXG4gIHB1YmxpYyBpZkFsdGVybmF0ZUNvbnRhY3RUeXBlcyh2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10sIG9wZXJhdG9yPzogT3BlcmF0b3IgfCBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5pZihgQWx0ZXJuYXRlQ29udGFjdFR5cGVzYCwgdmFsdWUsIG9wZXJhdG9yIHx8ICdTdHJpbmdMaWtlJyk7XG4gIH1cblxuICAvKipcbiAgICogRmlsdGVycyBhY2Nlc3MgYnkgYSBsaXN0IG9mIFJlZ2lvbnMuIEVuYWJsZXMgb3IgZGlzYWJsZXMgYWxsIHRoZSBSZWdpb25zIHNwZWNpZmllZCBoZXJlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hY2NvdW50cy9sYXRlc3QvcmVmZXJlbmNlL3NlY3VyaXR5X2lhbV9zZXJ2aWNlLXdpdGgtaWFtLmh0bWwjc2VjdXJpdHlfaWFtX3NlcnZpY2Utd2l0aC1pYW0taWQtYmFzZWQtcG9saWNpZXMtY29uZGl0aW9ua2V5c1xuICAgKlxuICAgKiBBcHBsaWVzIHRvIGFjdGlvbnM6XG4gICAqIC0gLnRvRGlzYWJsZVJlZ2lvbigpXG4gICAqIC0gLnRvRW5hYmxlUmVnaW9uKClcbiAgICogLSAudG9HZXRSZWdpb25PcHRTdGF0dXMoKVxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlKHMpIHRvIGNoZWNrXG4gICAqIEBwYXJhbSBvcGVyYXRvciBXb3JrcyB3aXRoIFtzdHJpbmcgb3BlcmF0b3JzXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vSUFNL2xhdGVzdC9Vc2VyR3VpZGUvcmVmZXJlbmNlX3BvbGljaWVzX2VsZW1lbnRzX2NvbmRpdGlvbl9vcGVyYXRvcnMuaHRtbCNDb25kaXRpb25zX1N0cmluZykuICoqRGVmYXVsdDoqKiBgU3RyaW5nTGlrZWBcbiAgICovXG4gIHB1YmxpYyBpZlRhcmdldFJlZ2lvbih2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10sIG9wZXJhdG9yPzogT3BlcmF0b3IgfCBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5pZihgVGFyZ2V0UmVnaW9uYCwgdmFsdWUsIG9wZXJhdG9yIHx8ICdTdHJpbmdMaWtlJyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,100 @@
|
|
|
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
|
+
* Statement provider for service [activate](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsactivate.html).
|
|
13
|
+
*
|
|
14
|
+
* @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement
|
|
15
|
+
*/
|
|
16
|
+
constructor(sid) {
|
|
17
|
+
super(sid);
|
|
18
|
+
this.servicePrefix = 'activate';
|
|
19
|
+
this.accessLevelList = {
|
|
20
|
+
Write: [
|
|
21
|
+
'CreateForm',
|
|
22
|
+
'PutMemberInfo'
|
|
23
|
+
],
|
|
24
|
+
Read: [
|
|
25
|
+
'GetAccountContact',
|
|
26
|
+
'GetContentInfo',
|
|
27
|
+
'GetCosts',
|
|
28
|
+
'GetCredits',
|
|
29
|
+
'GetMemberInfo',
|
|
30
|
+
'GetProgram'
|
|
31
|
+
]
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Grants permission to submit an Activate application form
|
|
36
|
+
*
|
|
37
|
+
* Access Level: Write
|
|
38
|
+
*/
|
|
39
|
+
toCreateForm() {
|
|
40
|
+
return this.to('CreateForm');
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Grants permission to get the AWS account contact information
|
|
44
|
+
*
|
|
45
|
+
* Access Level: Read
|
|
46
|
+
*/
|
|
47
|
+
toGetAccountContact() {
|
|
48
|
+
return this.to('GetAccountContact');
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Grants permission to get Activate tech posts and offer information
|
|
52
|
+
*
|
|
53
|
+
* Access Level: Read
|
|
54
|
+
*/
|
|
55
|
+
toGetContentInfo() {
|
|
56
|
+
return this.to('GetContentInfo');
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Grants permission to get the AWS cost information
|
|
60
|
+
*
|
|
61
|
+
* Access Level: Read
|
|
62
|
+
*/
|
|
63
|
+
toGetCosts() {
|
|
64
|
+
return this.to('GetCosts');
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Grants permission to get the AWS credit information
|
|
68
|
+
*
|
|
69
|
+
* Access Level: Read
|
|
70
|
+
*/
|
|
71
|
+
toGetCredits() {
|
|
72
|
+
return this.to('GetCredits');
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Grants permission to get the Activate member information
|
|
76
|
+
*
|
|
77
|
+
* Access Level: Read
|
|
78
|
+
*/
|
|
79
|
+
toGetMemberInfo() {
|
|
80
|
+
return this.to('GetMemberInfo');
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Grants permission to get an Activate program
|
|
84
|
+
*
|
|
85
|
+
* Access Level: Read
|
|
86
|
+
*/
|
|
87
|
+
toGetProgram() {
|
|
88
|
+
return this.to('GetProgram');
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Grants permission to create or update the Activate member information
|
|
92
|
+
*
|
|
93
|
+
* Access Level: Write
|
|
94
|
+
*/
|
|
95
|
+
toPutMemberInfo() {
|
|
96
|
+
return this.to('PutMemberInfo');
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
exports.Activate = Activate;
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJhY3RpdmF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxzQ0FBNEM7QUFFNUM7Ozs7R0FJRztBQUNILE1BQWEsUUFBUyxTQUFRLHdCQUFlO0lBRzNDOzs7O09BSUc7SUFDSCxZQUFZLEdBQVk7UUFDdEIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBUk4sa0JBQWEsR0FBRyxVQUFVLENBQUM7UUFtRnhCLG9CQUFlLEdBQW9CO1lBQzNDLEtBQUssRUFBRTtnQkFDTCxZQUFZO2dCQUNaLGVBQWU7YUFDaEI7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osbUJBQW1CO2dCQUNuQixnQkFBZ0I7Z0JBQ2hCLFVBQVU7Z0JBQ1YsWUFBWTtnQkFDWixlQUFlO2dCQUNmLFlBQVk7YUFDYjtTQUNGLENBQUM7SUF2RkYsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxZQUFZO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLG1CQUFtQjtRQUN4QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGdCQUFnQjtRQUNyQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFVBQVU7UUFDZixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxZQUFZO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGVBQWU7UUFDcEIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksWUFBWTtRQUNqQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxlQUFlO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNsQyxDQUFDO0NBZ0JGO0FBbEdELDRCQWtHQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjY2Vzc0xldmVsTGlzdCB9IGZyb20gJy4uL3NoYXJlZC9hY2Nlc3MtbGV2ZWwnO1xuaW1wb3J0IHsgUG9saWN5U3RhdGVtZW50IH0gZnJvbSAnLi4vc2hhcmVkJztcblxuLyoqXG4gKiBTdGF0ZW1lbnQgcHJvdmlkZXIgZm9yIHNlcnZpY2UgW2FjdGl2YXRlXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2VydmljZS1hdXRob3JpemF0aW9uL2xhdGVzdC9yZWZlcmVuY2UvbGlzdF9hd3NhY3RpdmF0ZS5odG1sKS5cbiAqXG4gKiBAcGFyYW0gc2lkIFtTSURdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9JQU0vbGF0ZXN0L1VzZXJHdWlkZS9yZWZlcmVuY2VfcG9saWNpZXNfZWxlbWVudHNfc2lkLmh0bWwpIG9mIHRoZSBzdGF0ZW1lbnRcbiAqL1xuZXhwb3J0IGNsYXNzIEFjdGl2YXRlIGV4dGVuZHMgUG9saWN5U3RhdGVtZW50IHtcbiAgcHVibGljIHNlcnZpY2VQcmVmaXggPSAnYWN0aXZhdGUnO1xuXG4gIC8qKlxuICAgKiBTdGF0ZW1lbnQgcHJvdmlkZXIgZm9yIHNlcnZpY2UgW2FjdGl2YXRlXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2VydmljZS1hdXRob3JpemF0aW9uL2xhdGVzdC9yZWZlcmVuY2UvbGlzdF9hd3NhY3RpdmF0ZS5odG1sKS5cbiAgICpcbiAgICogQHBhcmFtIHNpZCBbU0lEXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vSUFNL2xhdGVzdC9Vc2VyR3VpZGUvcmVmZXJlbmNlX3BvbGljaWVzX2VsZW1lbnRzX3NpZC5odG1sKSBvZiB0aGUgc3RhdGVtZW50XG4gICAqL1xuICBjb25zdHJ1Y3RvcihzaWQ/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihzaWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHN1Ym1pdCBhbiBBY3RpdmF0ZSBhcHBsaWNhdGlvbiBmb3JtXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICovXG4gIHB1YmxpYyB0b0NyZWF0ZUZvcm0oKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0NyZWF0ZUZvcm0nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBnZXQgdGhlIEFXUyBhY2NvdW50IGNvbnRhY3QgaW5mb3JtYXRpb25cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqL1xuICBwdWJsaWMgdG9HZXRBY2NvdW50Q29udGFjdCgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnR2V0QWNjb3VudENvbnRhY3QnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBnZXQgQWN0aXZhdGUgdGVjaCBwb3N0cyBhbmQgb2ZmZXIgaW5mb3JtYXRpb25cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBSZWFkXG4gICAqL1xuICBwdWJsaWMgdG9HZXRDb250ZW50SW5mbygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnR2V0Q29udGVudEluZm8nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBnZXQgdGhlIEFXUyBjb3N0IGluZm9ybWF0aW9uXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKi9cbiAgcHVibGljIHRvR2V0Q29zdHMoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0dldENvc3RzJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZ2V0IHRoZSBBV1MgY3JlZGl0IGluZm9ybWF0aW9uXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKi9cbiAgcHVibGljIHRvR2V0Q3JlZGl0cygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnR2V0Q3JlZGl0cycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGdldCB0aGUgQWN0aXZhdGUgbWVtYmVyIGluZm9ybWF0aW9uXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKi9cbiAgcHVibGljIHRvR2V0TWVtYmVySW5mbygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnR2V0TWVtYmVySW5mbycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGdldCBhbiBBY3RpdmF0ZSBwcm9ncmFtXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogUmVhZFxuICAgKi9cbiAgcHVibGljIHRvR2V0UHJvZ3JhbSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnR2V0UHJvZ3JhbScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZSBvciB1cGRhdGUgdGhlIEFjdGl2YXRlIG1lbWJlciBpbmZvcm1hdGlvblxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqL1xuICBwdWJsaWMgdG9QdXRNZW1iZXJJbmZvKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdQdXRNZW1iZXJJbmZvJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYWNjZXNzTGV2ZWxMaXN0OiBBY2Nlc3NMZXZlbExpc3QgPSB7XG4gICAgV3JpdGU6IFtcbiAgICAgICdDcmVhdGVGb3JtJyxcbiAgICAgICdQdXRNZW1iZXJJbmZvJ1xuICAgIF0sXG4gICAgUmVhZDogW1xuICAgICAgJ0dldEFjY291bnRDb250YWN0JyxcbiAgICAgICdHZXRDb250ZW50SW5mbycsXG4gICAgICAnR2V0Q29zdHMnLFxuICAgICAgJ0dldENyZWRpdHMnLFxuICAgICAgJ0dldE1lbWJlckluZm8nLFxuICAgICAgJ0dldFByb2dyYW0nXG4gICAgXVxuICB9O1xufVxuIl19
|