diff --git a/aws_doc_sdk_examples_tools/config/entities.yaml b/aws_doc_sdk_examples_tools/config/entities.yaml index 6094a30..8221c4f 100644 --- a/aws_doc_sdk_examples_tools/config/entities.yaml +++ b/aws_doc_sdk_examples_tools/config/entities.yaml @@ -1,18 +1,751 @@ expanded_override: "&AWS;": "AWS" "&aws_sec_sdk_use-federation-warning;": "" - "&ASH;": "Security Hub" - "&DAX;": "DynamoDB Accelerator" - "&EC2long;": "Amazon Elastic Compute Cloud" - "&ELB;": "Elastic Load Balancing" - "&ELBlong;": "Elastic Load Balancing" - "&GLUDCLong;": "AWS Glue Data Catalog" - "&GLUDC;": "Data Catalog" "&IAM-user;": "IAM user" "&IAM-users;": "IAM users" - "&kms-key;": "KMS key" - "&kms-keys;": "KMS keys" - "&kms-keys-long;": "AWS KMS keys" - "&S3long;": "Amazon Simple Storage Service" "&S3only;": "S3" - "&SLN;": "Amazon States Language" \ No newline at end of file + "&SLN;": "Amazon States Language" + '&A2Clong;': App2Container + '&A2C;': App2Container + '&a2ilong;': Amazon Augmented AI + '&a2ishort;': Amazon A2I + '&ABUSlong;': Alexa for Business + '&ABUS;': Alexa for Business + '&ACCTlong;': Account Management + '&ACCT;': Account Management + '&PCAlong;': Private Certificate Authority + '&ACPRlong;': Amazon CodeGuru Profiler + '&ACPR;': CodeGuru Profiler + '&ACRElong;': Amazon CodeGuru Reviewer + '&ACRE;': CodeGuru Reviewer + '&AWSConnectorServicelong;': Connector Service + '&AWSConnectorService;': Connector Service + '&ActivateConsolelong;': Activate Console + '&ActivateConsole;': Activate Console + '&AFDlong;': Amazon Fraud Detector + '&AFD;': Amazon Fraud Detector + '&AGTSVClong;': Agent Service + '&MWAA;': Amazon MWAA + '&AKlong;': Amazon Kinesis + '&AK;': Kinesis + '&AKVSlong;': Amazon Kinesis Video Streams + '&AKVS;': Kinesis Video Streams + '&AKVS-res-long;': Amazon Kinesis video stream + '&AKVS-res;': Kinesis video stream + '&ALYlong;': Amazon Lumberyard + '&ALY;': Lumberyard + '&DocDBlong;': Amazon DocumentDB (with MongoDB compatibility) + '&DocDB;': Amazon DocumentDB + '&AMQlong;': Amazon MQ + '&AMQ;': Amazon MQ + '&AMBlong;': Amazon Managed Blockchain + '&AMB;': Managed Blockchain + '&AMHlong;': Mobile Hub + '&AMH;': Mobile Hub + '&long;': Management Portal for vCenter + '&': management portal + '&Clong;': Connector for vCenter + '&C;': connector + '&LIFYlong;': Amplify + '&LIFY;': Amplify + '&AMSlong;': Managed Services + '&AMS;': AMS + '&Androidlong;': Mobile SDK for Android + '&Android;': Mobile SDK for Android + '&ANSlong;': Amazon Nimble Studio + '&ANS;': Nimble Studio + '&APClong;': Pricing Calculator + '&APFLlong;': Amazon AppFlow + '&APFL;': Amazon AppFlow + '&ABPlong;': Amazon API Gateway + '&ABP;': API Gateway + '&APNlong;': Partner Network + '&APPClong;': AppConfig + '&AppConfigDatalong;': AppConfig Data + '&APP-ASlong;': Application Auto Scaling + '&APP-AS;': Application Auto Scaling + '&APP-DSlong;': Application Discovery Service + '&APP-DS;': Application Discovery Service + '&ARlong;': App Runner + '&AR;': App Runner + '&AASlong;': Amazon AppStream + '&AAS;': Amazon AppStream + '&AAS2long;': Amazon AppStream 2.0 + '&AAS2;': AppStream 2.0 + '&APSYlong;': AppSync + '&ARGlong;': Resource Groups + '&ARG;': Resource Groups + '&ARTlong;': Artifact + '&ARWlong;': Proton + '&ATElong;': Amazon Athena + '&ATE;': Athena + '&ATSlong;': Alexa Top Sites + '&ATS;': Alexa Top Sites + '&AMlong;': Audit Manager + '&AM;': Audit Manager + '&AURlongMySQL;': Amazon Aurora MySQL + '&AURMySQL;': Aurora MySQL + '&AURlongMySQLlong;': Amazon Aurora MySQL-Compatible Edition + '&AURMySQLlong;': Aurora MySQL-Compatible Edition + '&AURlongMySQLmed;': Amazon Aurora MySQL-Compatible + '&AURMySQLmed;': Aurora MySQL-Compatible + '&AURlong;': Amazon Aurora + '&AUR;': Aurora + '&AURlongPostgreslong;': Amazon Aurora PostgreSQL-Compatible Edition + '&AURPostgreslong;': Aurora PostgreSQL-Compatible Edition + '&AURlongPostgresmed;': Amazon Aurora PostgreSQL-Compatible + '&AURPostgresmed;': Aurora PostgreSQL-Compatible + '&ASlong;': Amazon EC2 Auto Scaling + '&AS;': Auto Scaling + '&AWS-ASPlanslong;': Auto Scaling Plans + '&AWS-ASPlans;': Auto Scaling Plans + '&AWS-ASlong;': Auto Scaling + '&CDKlong;': Cloud Development Kit (CDK) + '&fablong;': AppFabric + '&fab;': AppFabric + '&ipam-long;': Amazon VPC IP Address Manager + '&ipam;': IPAM + '&OSGlong;': OrigamiServiceGateway + '&OSG;': OrigamiServiceGateway + '&OUTlong;': Outposts + '¶llelclusterlong;': ParallelCluster + '&PMNTGatewaylong;': PaymentsGatewayService + '&ipam-console-long;': Amazon VPC IP Address Manager Console + '&ipam-console;': IPAM Console + '&MKTCAPIlong;': Marketplace Catalog API + '&WACVSSSlong;': Windows App-Consistent VSS Solution + '&ABlong;': Billing and Cost Management + '&AB;': Billing and Cost Management + '&CClong;': Config + '&AWSCostExplorerServicelong;': Cost Explorer Service + '&AWSCostExplorerService;': Cost Explorer Service + '&CADetlong;': Cost Anomaly Detection + '&CADet;': Cost Anomaly Detection + '&CMConsolelong;': Cost Management Console + '&CMConsole;': Cost Management Console + '&AWSDOCSlong;': Amazon Web Services Documentation + '&awshealthlong;': Health + '&consolelong;': Amazon Web Services Management Console + '&MarketingSitelong;': Amazon Web Services Marketing Website + '&AWSSCTlong;': Schema Conversion Tool + '&BGWlong;': Backup gateway + '&BGW;': Backup gateway + '&BATCHlong;': Batch + '&BRlong;': Amazon Bedrock + '&BR;': Amazon Bedrock + '&Billinglong;': Billing + '&Billing;': Billing + '&ABClong;': Billing Conductor + '&ABC;': Billing Conductor + '&BLXlong;': Blox + '&BLX;': Blox + '&BRAKETlong;': Amazon Braket + '&BRAKET;': Braket + '&ABBlong;': BugBust + '&CDIlong;': Cloud Digital Interface + '&ce-long;': Cost Explorer + '&ce;': Cost Explorer + '&ACMlong;': Certificate Manager + '&ACM;': ACM + '&CBTlong;': Chatbot + '&CHMlong;': Amazon Chime + '&CHM;': Amazon Chime + '&ACRlong;': Clean Rooms + '&CLIlong;': Command Line Interface + '&CVPNlong;': Client VPN + '&CVPN;': Client VPN + '&AC9long;': Cloud9 + '&CCAPIlong;': Cloud Control API + '&CCAPI;': Cloud Control API + '&CDSlong;': Amazon Cloud Directory + '&CDS;': Cloud Directory + '&CFNlong;': CloudFormation + '&CFlong;': Amazon CloudFront + '&CF;': CloudFront + '&HSMClassiclong;': CloudHSM Classic + '&HSMlong;': CloudHSM + '&CSlong;': Amazon CloudSearch + '&CS;': Amazon CloudSearch + '&CShell;': CloudShell + '&CShellshort;': CloudShell + '&CTlong;': CloudTrail + '&CT;': CloudTrail + '&CWlong;': Amazon CloudWatch + '&CW;': CloudWatch + '&CWElong;': Amazon CloudWatch Events + '&CWE;': CloudWatch Events + '&CWLlong;': Amazon CloudWatch Logs + '&CWL;': CloudWatch Logs + '&CMAlong;': Console Mobile Application + '&CMA;': Console Mobile Application + '&COlong;': Compute Optimizer + '&CO;': Compute Optimizer + '&ACAlong;': CodeArtifact + '&ACA;': CodeArtifact + '&ACBlong;': CodeBuild + '&ACB;': CodeBuild + '&CAWSlong;': Amazon CodeCatalyst + '&CAWS;': CodeCatalyst + '&ACClong;': CodeCommit + '&ACC;': CodeCommit + '&ACDlong;': CodeDeploy + '∿': CodeDeploy + '&ACPlong;': CodePipeline + '&ACP;': CodePipeline + '&ACSlong;': CodeStar + '&CSC;': CodeConnections + '&whisperlong;': Amazon CodeWhisperer + '&whisper;': CodeWhisperer + '&COGlong;': Amazon Cognito + '&COG;': Amazon Cognito + '&COGSYNClong;': Amazon Cognito Sync + '&COGSYNC;': Amazon Cognito Sync + '&CMPlong;': Amazon Comprehend + '&CMP;': Amazon Comprehend + '&CMPMlong;': Amazon Comprehend Medical + '&CMPM;': Amazon Comprehend Medical + '&consolehomelong;': Amazon Web Services Console Home + '&CTowerlong;': Control Tower + '&CPPlong;': SDK for C++ + '&CPP;': SDK for C++ + '&BKPlong;': Backup + '&CryptoSDKlong;': Encryption SDK + '&DMSlong;': Database Migration Service + '&BRUlong;': Glue DataBrew + '&BRU;': DataBrew + '&ADElong;': Data Exchange + '&AWSDPlong;': Data Pipeline + '&DSYlong;': DataSync + '&DSY;': DataSync + '&datazonelong;': Amazon DataZone + '&datazone;': Amazon DataZone + '&DAXlong;': DynamoDB Accelerator + '&DAX;': DAX + '&DDBEClong;': Amazon DynamoDB Encryption Client + '&DDBEC;': DynamoDB Encryption Client + '&DSlong;': Amazon DynamoDB Streams + '&DS;': DynamoDB Streams + '&ADClong;': Deadline Cloud + '&DLlong;': DeepLens + '&AWSDeepRacerlong;': DeepRacer + '&DETlong;': Amazon Detective + '&DET;': Detective + '&ATPlong;': Device Farm + '&ATP;': Device Farm + '&CGOlong;': Amazon DevOps Guru + '&CGO;': DevOps Guru + '&AWS-DC-long;': Direct Connect + '&ADSlong;': Directory Service + '&dla;': DLAMI + '&DLMlong;': Amazon Data Lifecycle Manager + '&DLM;': Amazon Data Lifecycle Manager + '&DPlong;': Amazon DevPay + '&DP;': Amazon DevPay + '&DRSlong;': Elastic Disaster Recovery + '&DRS;': Elastic Disaster Recovery + '&dsrlong;': GlueSchemaRegistry + '&DDBlong;': Amazon DynamoDB + '&DDB;': DynamoDB + '&EBSlong;': Amazon Elastic Block Store + '&EBS;': Amazon EBS + '&EClong;': Porting Assistant for .NET + '&EC;': Porting Assistant for .NET + '&EC2long;': Amazon Elastic Compute Cloud + '&EC2;': Amazon EC2 + '&EC2Consolelong;': Amazon Elastic Compute Cloud console + '&EC2Console;': Amazon EC2 console + '&ECRlong;': Amazon Elastic Container Registry + '&ECR;': Amazon ECR + '&ECSlong;': Amazon Elastic Container Service + '&ECS;': Amazon ECS + '&EC2DedicatedHostslong;': Amazon Elastic Compute Cloud Dedicated Hosts + '&EC2DedicatedHosts;': Amazon EC2 Dedicated Hosts + '&EC2LV2long;': EC2Launch v2 + '&EC2LV2;': EC2Launch + '&SYSlong;': Amazon Web Services Systems Manager + '&SYS;': Systems Manager + '&ECFlong;': Elemental Conductor File + '&ECF;': Conductor File + '&ECL3long;': Elemental Conductor Live + '&ECL3;': Conductor Live + '&ECLDlong;': Elemental Cloud + '&ECRPubliclong;': Amazon Elastic Container Registry Public + '&ECRPublic;': Amazon ECR Public + '&EDLTlong;': Elemental Delta + '&EDLT;': Delta + '&EIAlong;': Amazon Elastic Inference + '&EIA;': Elastic Inference + '&EKSlong;': Amazon Elastic Kubernetes Service + '&EKS;': Amazon EKS + '&ELClong;': Amazon ElastiCache + '&ELC;': ElastiCache + '&AEBlong;': Elastic Beanstalk + '&AEB;': Elastic Beanstalk + '&EFSlong;': Amazon Elastic File System + '&EFS;': Amazon EFS + '&ESlong;': Amazon OpenSearch Service + '&ES;': OpenSearch Service + '&ETlong;': Amazon Elastic Transcoder + '&ET;': Elastic Transcoder + '&ELBlong;': Elastic Load Balancing + '&ELB;': Elastic Load Balancing + '&NLBlong;': Network Load Balancer + '&NLB;': Network Load Balancer + '&ELCMlong;': Amazon ElastiCache (Memcached) + '&ELCM;': ElastiCache (Memcached) + '&ELCRlong;': Amazon ElastiCache (Redis OSS) + '&ELCR;': ElastiCache (Redis OSS) + '&ELNKlong;': Elemental Link + '&ELVlong;': Elemental Live + '&ELV;': Elemental Live + '&EMRlong;': Amazon EMR + '&EMR;': Amazon EMR + '&EMRServerlesslong;': Amazon EMR Serverless + '&EMRServerless;': EMR Serverless + '&ESMXlong;': Elemental Statmux + '&ESMX;': Statmux + '&ESRVRlong;': Elemental Server + '&EVlong;': Amazon EventBridge + '&EV;': EventBridge + '&FARGATElong;': Fargate + '&FARGATE;': Fargate + '&winfargatelong;': Windows containers on Fargate + '&FFlong;': Flow Framework + '&FF;': the framework + '&FHlong;': Amazon Data Firehose + '&FH;': Firehose + '&FSlong;': FinSpace + '&FS;': FinSpace + '&MHBRefactorlong;': Migration Hub Refactor Spaces + '&MHBRefactor;': Refactor Spaces + '&FMSlong;': Firewall Manager + '&FMS;': Firewall Manager + '&FORlong;': Amazon Forecast + '&FOR;': Forecast + '&FPSlong;': Amazon Flexible Payments Service + '&FPS;': Amazon FPS + '&RTOSlong;': FreeRTOS + '&RTOS;': FreeRTOS + '&FSXlong;': Amazon FSx + '&FSX;': Amazon FSx + '&FSxONTAPlong;': Amazon FSx for NetApp ONTAP + '&FSxONTAP;': FSx for ONTAP + '&FSxOpenZFSlong;': Amazon FSx for OpenZFS + '&FSxOpenZFS;': FSx for OpenZFS + '&FSXLustrelong;': Amazon FSx for Lustre + '&FSXLustre;': FSx for Lustre + '&FSXWindowslong;': Amazon FSx for Windows File Server + '&FSXWindows;': FSx for Windows File Server + '&FTPlong;': Transfer for FTP + '&FTPSlong;': Transfer for FTPS + '&FWSlong;': Amazon Fulfillment Web Service + '&FWS;': Amazon FWS + '&AGSlong;': Amazon GameLift + '&AGS;': Amazon GameLift + '&GSlong;': Amazon GameSparks + '&GS;': GameSparks + '&GAXlong;': Global Accelerator + '&GAX;': Global Accelerator + '&GLlong;': Amazon S3 Glacier + '≷': S3 Glacier + '&GLUlong;': Glue + '&GLUDCLong;': Glue Data Catalog + '&GLUDC;': Data Catalog + '&GRAlong;': Amazon Managed Grafana + '&GRA;': Amazon Managed Grafana + '&GGlong;': IoT Greengrass + '&GG1long;': IoT Greengrass Version 1 + '&GG2long;': IoT Greengrass Version 2 + '&GRSlong;': Ground Station + '&GDUlong;': Amazon GuardDuty + '&GDU;': GuardDuty + '&GURUALLlong;': Amazon CodeGuru + '&GURUALLshort;': CodeGuru + '&GXYlong;': Directory Service + '&AHLlong;': HealthLake + '&AHL;': HealthLake + '&HOGlong;': Amazon Lookout for Equipment + '&HOG;': Lookout for Equipment + '&IAMlong;': Identity and Access Management + '&IAM;': IAM + '&iam-citadel-long;': Identity and Access Management Access Analyzer + '&iam-citadel;': IAM Access Analyzer + '&IBlong;': EC2 Image Builder + '&IB;': Image Builder + '&IElong;': Import/Export + '&Disklong;': Import/Export Disk + '&Disk;': Disk + '&Frozenlong;': Snowball + '&Frozen;': Snowball + '&INS1long;': Amazon Inspector Classic + '&INS1;': Amazon Inspector Classic + '&INSlong;': Amazon Inspector + '&INS;': Amazon Inspector + '&iOSlong;': Mobile SDK for iOS + '&iOS;': Mobile SDK for iOS + '&IoTlong;': IoT + '&IoTJobsSDKreleaselong;': IoT Jobs SDK release + '&ITOClong;': IoT 1-Click + '&IoTAlexa;': Alexa Voice Service (AVS) Integration for IoT + '&ITAlong;': IoT Analytics + '&IoTDatalong;': IoT data + '&IoTDAlong;': IoT Core Device Advisor + '&IoTDA;': Device Advisor + '&ITDDlong;': IoT Device Defender + '&ITDMlong;': IoT Device Management + '&ITElong;': IoT Events + '&ITEDlong;': IoT Events-Data + '&IoTFHlong;': IoT Fleet Hub + '&FWlong;': IoT FleetWise + '&IoTIdentitylong;': IoT Identity + '&IoTMonitorlong;': Fleet Hub for IoT Device Management + '&IoTMonitor;': Fleet Hub + '&IoTSecureTunnellong;': IoT Secure Tunneling + '&ITSWlong;': IoT SiteWise + '&ITSWMlong;': IoT SiteWise Monitor + '&ITSWM;': SiteWise Monitor + '&IoTTMlong;': IoT TwinMaker + '&IVSlong;': Amazon Interactive Video Service + '&IVS;': Amazon IVS + '&Javalong;': SDK for Java + '&Java;': SDK for Java + '&JavaV2long;': SDK for Java 2.x + '&JavaV2;': SDK for Java 2.x + '&JBIDEToolkitlong;': Toolkit for JetBrains + '&JESlong;': Glue Jobs system + '&JES;': Jobs system + '&JSBlong;': SDK for JavaScript + '&JSB;': SDK for JavaScript + '&KENlong;': Amazon Kendra + '&KEN;': Amazon Kendra + '&KEYlong;': Amazon Keyspaces (for Apache Cassandra) + '&KEY;': Amazon Keyspaces + '&AKSlong;': Amazon Kinesis Data Streams + '&AKS;': Kinesis Data Streams + '&AKFlong;': Amazon Data Firehose + '&AKF;': Firehose + '&KMSlong;': Key Management Service + '&kms-key-long;': KMS key + '&kms-key;': KMS key + '&kms-keys-long;': KMS keys + '&kms-keys;': KMS keys + '&LFlong;': Lake Formation + '&LF;': Lake Formation + '&LAMlong;': Lambda + '&LAM;': Lambda + '&LAMConsolelong;': Lambda console + '&LAMConsole;': Lambda console + '&MESHlong;': App Mesh + '&MESH;': App Mesh + '&LWlong;': Launch Wizard + '&LW;': Launch Wizard + '&LEX2long;': Amazon Lex + '&LEX2;': Amazon Lex + '&LFMlong;': Amazon Lookout for Metrics + '&LFM;': Lookout for Metrics + '&LIClong;': License Manager + '&LIC;': License Manager + '&LICMasterAcctSlrlong;': License Manager master account SLR + '&LICMasterAcctSlr;': License Manager master account SLR + '&LICMemberAcctSlrlong;': License Manager member account SLR + '&LICMemberAcctSlr;': License Manager member account SLR + '&lightsaillong;': Amazon Lightsail + '&lightsail;': Lightsail + '&CONlong;': Amazon Connect + '&CON;': Amazon Connect + '&QDEV;': Amazon Q + '&LYRAlong;': Amazon Lookout for Vision + '&LYRA;': Lookout for Vision + '&MLlong;': Amazon Machine Learning + '&ML;': Amazon ML + '&MCElong;': Amazon Macie + '&MCE;': Macie + '&managed-ad-long;': Directory Service for Microsoft Active Directory + '&MKTCAlong;': Marketplace Commerce Analytics + '&MKTESlong;': Marketplace Entitlement Service + '&MKTMSlong;': Marketplace Metering Service + '&EMXlong;': Elemental MediaConnect + '&EMX;': MediaConnect + '&EMClong;': Elemental MediaConvert + '&EMC;': MediaConvert + '&EMLlong;': Elemental MediaLive + '&EML;': MediaLive + '&EMPlong;': Elemental MediaPackage + '&EMP;': MediaPackage + '&EMSlong;': Elemental MediaStore + '&EMS;': MediaStore + '&EMTlong;': Elemental MediaTailor + '&EMT;': MediaTailor + '&MDBlong;': Amazon MemoryDB + '&MDB;': MemoryDB + '&SESHlong;': Systems Manager Session Manager + '&SESH;': Session Manager + '&MGNlong;': Application Migration Service + '&MGN;': Application Migration Service + '&MHBlong;': Migration Hub + '&MHB;': Migration Hub + '&MMlong;': Molecular Modeling + '&MM;': Molecular Modeling + '&MAlong;': Amazon Mobile Analytics + '&MA;': Mobile Analytics + '&LEXMBSlong;': Amazon Lex Model Building Service + '&LEXMBS;': Amazon Lex MBS + '&MONlong;': Amazon Monitron + '&MON;': Amazon Monitron + '&MSKlong;': Amazon Managed Streaming for Apache Kafka + '&MSK;': Amazon MSK + '&MTlong;': Amazon Mechanical Turk + '&MT;': Mechanical Turk + '&nep_dbinstancelong;': Amazon Neptune DB instance + '&nep_dbinstance;': Neptune DB instance + '&neptunelong;': Amazon Neptune + '&neptune;': Neptune + '&NETlong;': SDK for .NET + '&NMlong;': Network Manager + '&NM;': Network Manager + '&NWFWlong;': Network Firewall + '&NWFW;': Network Firewall + '&ODBlong;': Oracle Database@AWS + '&ODB;': Oracle Database@AWS + '&OMlong;': HealthOmics + '&OM;': HealthOmics + '&AOSlong;': Amazon OpenSearch Service + '&AOS;': OpenSearch Service + '&OPSCAlong;': OpsWorks for Chef Automate + '&OpsHublong;': OpsHub for Snow Family + '&OPSPUPlong;': OpsWorks for Puppet Enterprise + '&OPSPUP;': OpsWorks for Puppet Enterprise + '&OPSlong;': OpsWorks + '&OPSCMlong;': OpsWorks CM + '&AOlong;': Organizations + '&AO;': Organizations + '&PAAPIlong;': Product Advertising API + '&PAAPI;': PA-API + '&PANlong;': Panorama + '&PAYCRlong;': Payment Cryptography + '&PERSlong;': Amazon Personalize + '&PERS;': Amazon Personalize + '&phdlong;': Health Dashboard + '&PHPlong;': SDK for PHP + '&PHP;': SDK for PHP + '&PHP2long;': SDK for PHP + '&PHP2;': SDK for PHP + '&PINlong;': Amazon Pinpoint + '&PIN;': Amazon Pinpoint + '&QBIZlong;': Amazon Q Business + '&QBIZ;': Amazon Q + '&POLlong;': Amazon Polly + '&POL;': Amazon Polly + '&PROlong;': Amazon Managed Service for Prometheus + '&PRO;': Amazon Managed Service for Prometheus + '&PSlong;': IAM Policy Simulator + '&PS;': Policy Simulator + '&Pythonlong;': SDK for Python (Boto) + '&Python;': SDK for Python + '&Python3long;': SDK for Python (Boto3) + '&Python3;': SDK for Python (Boto3) + '&QLDBlong;': Amazon QLDB + '&QLDB;': QLDB + '&QSlong;': Amazon QuickSight + '&QS;': Amazon QuickSight + '&R53long;': Amazon Route 53 + '&R53;': Route 53 + '&RAlong;': Reachability Analyzer + '&RA;': Reachability Analyzer + '&RAMlong;': Resource Access Manager + '&RClong;': Amazon Remote Configuration + '&RC;': Amazon Remote Configuration + '&RDSlong;': Amazon Relational Database Service + '&RDS;': Amazon RDS + '&AURlongPostgres;': Amazon Aurora PostgreSQL + '&AURPostgres;': Aurora PostgreSQL + '&RDSlongMSlong;': Amazon RDS for Microsoft SQL Server + '&RDSlongMS;': Amazon RDS for SQL Server + '&RDSlongMaria;': Amazon RDS for MariaDB + '&RDSMaria;': RDS for MariaDB + '&RDSMSlong;': RDS for Microsoft SQL Server + '&RDSMS;': RDS for SQL Server + '&RDSlongMySQL;': Amazon RDS for MySQL + '&RDSMySQL;': RDS for MySQL + '&RDSlongOra;': Amazon RDS for Oracle + '&RDSOra;': RDS for Oracle + '&RDSlongPostgres;': Amazon RDS for PostgreSQL + '&RDSPostgres;': RDS for PostgreSQL + '&RSlong;': Amazon Redshift + '&RS;': Amazon Redshift + '&REKlong;': Amazon Rekognition + '&REK;': Amazon Rekognition + '&REPOSTlong;': re:Post + '&ARHlong;': Resilience Hub + '&ARH;': Resilience Hub + '&ARGTAPIlong;': Resource Groups Tagging API + '&ARGTAPI;': Resource Groups Tagging API + '&RBMlong;': RoboMaker + '&ROSA;': ROSA + '&R53PDPlong;': Route 53 Public Data Plane + '&R53PDP;': Route 53 Public Data Plane + '&R53ARC;': ARC + '&R53AWSIntlong;': Route 53 Amazon Web Services Integration + '&R53DRlong;': Route 53 domain registration + '&R53DR;': Route 53 domain registration + '&R53PDNSVPClong;': Route 53 Private DNS for VPCs + '&R53PDNSVPC;': Route 53 Private DNS for VPCs + '&R53Rlong;': Route 53 Resolver + '&R53R;': Route 53 Resolver + '&Rubylong;': SDK for Ruby + '&Ruby;': SDK for Ruby + '&LEXlong;': Amazon Lex + '&LEX;': Amazon Lex + '&S2Slong;': Site-to-Site VPN + '&S2S;': Site-to-Site VPN + '&S3long;': Amazon Simple Storage Service + '&S3;': Amazon S3 + '&S3Controllong;': Amazon S3 Control + '&S3Control;': Amazon S3 Control + '&S3onOutpostsLong;': Amazon S3 on Outposts + '&S3onOutposts;': S3 on Outposts + '&SMlong;': Amazon SageMaker AI + '&SM;': SageMaker AI + '&SMRuntimelong;': Amazon SageMaker Runtime + '&SMRuntime;': SageMaker Runtime + '&SAIlong;': Amazon SageMaker Ground Truth + '&SAI;': Ground Truth + '&SAMlong;': Serverless Application Model + '&SPs;': Savings Plans + '&SP-singular;': Savings Plan + '&SAZRlong;': Service Authorization Reference + '&SAZR;': Service Authorization Reference + '&SCARlong;': Service Catalog App Registry + '&SCAR;': AppRegistry + '&SDKMlong;': SDK Metrics for Enterprise Support + '&SDKM;': SDK Metrics + '&ASMlong;': Secrets Manager + '&ASM;': Secrets Manager + '&ASHlong;': Security Hub + '&ASH;': Security Hub + '&SLlong;': Amazon Security Lake + '&SL;': Security Lake + '&SARlong;': Serverless Application Repository + '&SClong;': Service Catalog + '≻': Service Catalog + '&CMAPlong;': Cloud Map + '&SQlong;': Service Quotas + '&SQ;': Service Quotas + '&SESlong;': Amazon Simple Email Service + '&SES;': Amazon SES + '&SFTPlong;': Transfer for SFTP + '&SHDADVlong;': Shield Advanced + '&SHDADV;': Shield Advanced + '&SHDSTDlong;': Shield Standard + '&SHDSTD;': Shield Standard + '&SHDlong;': Shield + '&SHD;': Shield + '&Signerlong;': Signer + '&Signer;': Signer + '&SDBlong;': Amazon SimpleDB + '&SDB;': Amazon SimpleDB + '&MANIFOLDlong;': SimSpace Weaver + '&MANIFOLD;': SimSpace Weaver + '&SLKlong;': Amazon Silk + '&SLK;': Amazon Silk + '&SMSlong;': Server Migration Service + '&SDMlong;': Snow Device Management + '&SDM;': Snow Device Management + '&SNClong;': Snowcone + '&SNC;': Snowcone + '&SNSlong;': Amazon Simple Notification Service + '&SNS;': Amazon SNS + '&SPlong;': Amazon Simple Pay + '&SP;': Amazon Simple Pay + '&SPClong;': Amazon Redshift Spectrum + '&SPC;': Redshift Spectrum + '&SPKlong;': Secure Packager and Encoder Key Exchange + '&SPK;': SPEKE + '&ASWlong;': SQL Workbench + '&SQSlong;': Amazon Simple Queue Service + '&SQS;': Amazon SQS + '&SSMlong;': Amazon EC2 Systems Manager + '&SSM;': SSM + '&SYSElong;': Systems Manager Explorer + '&SYSE;': Systems Manager Explorer + '&SSOlong;': IAM Identity Center + '&SSO;': IAM Identity Center + '&SFNlong;': Step Functions + '&SFN;': Step Functions + '&SFNSElong;': Step Functions - Sync Express + '&SFNSE;': Step Functions - Sync Express + '&AWSSGlong;': Storage Gateway + '&AWSSG;': Storage Gateway + '&STSlong;': Security Token Service + '&sumerianlong;': Amazon Sumerian + '&sumerian;': Sumerian + '&SUPCtrConsolelong;': Support Center Console + '&SUPCtrConsole;': Support Center Console + '&SUPApplong;': Support App in Slack + '&SWFlong;': Amazon Simple Workflow Service + '&SWF;': Amazon SWF + '&TElong;': Toolkit for Eclipse + '&TE;': Toolkit for Eclipse + '&TEXTRACTlong;': Amazon Textract + '&TEXTRACT;': Amazon Textract + '&ITTGlong;': IoT Things Graph + '&TIMElong;': Amazon Timestream + '&TIME;': Timestream + '&TPClong;': Tools for PowerShell Core + '&TPC;': Tools for PowerShell Core + '&TSClong;': Amazon Transcribe + '&TSC;': Amazon Transcribe + '&TSCMlong;': Amazon Transcribe Medical + '&TSCM;': Amazon Transcribe Medical + '&TFlong;': Transfer Family + '&TF;': Transfer Family + '&AWSTGlong;': Transit Gateway + '&AWSTG;': Transit Gateway + '&TSLlong;': Amazon Translate + '&TSL;': Amazon Translate + '&AWS-TA-long;': Trusted Advisor + '&TTSlong;': Toolkit for Microsoft Azure DevOps + '&TVSlong;': Toolkit for Visual Studio + '&TVS;': Toolkit for Visual Studio + '&TWPlong;': Tools for Windows PowerShell + '&TWP;': Tools for Windows PowerShell + '&TWPALLlong;': Tools for PowerShell + '&TWPALL;': Tools for PowerShell + '&FISlong;': Fault Injection Service + '&VMIElong;': VM Import/Export + '&VMIE;': VM Import/Export + '&VPClong;': Amazon Virtual Private Cloud + '&VPC;': Amazon VPC + '&VPCLATlong;': Amazon VPC Lattice + '&VPCLAT;': VPC Lattice + '&VPCConsolelong;': Amazon Virtual Private Cloud Console + '&VPCConsole;': Amazon VPC Console + '&VPNlong;': Virtual Private Network + '&VSCIDElong;': Visual Studio Code + '&VSCIDE;': VS Code + '&VSCIDEToolkit;': Toolkit for Visual Studio Code + '&VSCIDEToolkitshort;': Toolkit for VS Code + '&WAFlong;': WAF + '&WAFRegionallong;': WAF + '&WAFv2long;': WAF + '&WAMlong;': Amazon WorkSpaces Application Manager + '&WAM;': Amazon WAM + '&WATlong;': Well-Architected Tool + '&WAVElong;': Wavelength + '&WAVE;': Wavelength + '&wickrlong;': Wickr + '&wickr;': Wickr + '&WDlong;': Amazon WorkDocs + '&WD;': Amazon WorkDocs + '&WLKlong;': Amazon WorkLink + '&WLK;': Amazon WorkLink + '&WMlong;': Amazon WorkMail + '&WM;': Amazon WorkMail + '&WSPlong;': Amazon WorkSpaces + '&WSP;': WorkSpaces + '&xraylong;': X-Ray + '&xray;': X-Ray + '&ZCLlong;': Amazon WorkDocs + '&ZCL;': Amazon WorkDocs + '&zelkovalong;': Zelkova Service + '&zelkova;': Zelkova Service \ No newline at end of file diff --git a/aws_doc_sdk_examples_tools/shared_entities_convert.py b/aws_doc_sdk_examples_tools/shared_entities_convert.py new file mode 100644 index 0000000..9956b03 --- /dev/null +++ b/aws_doc_sdk_examples_tools/shared_entities_convert.py @@ -0,0 +1,88 @@ +# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +# SPDX-License-Identifier: Apache-2.0 + +import xml.etree.ElementTree as ET +import yaml +import argparse +import sys +from pathlib import Path + +def convert_xml_to_yaml(xml_content): + # Parse XML content + root = ET.fromstring(xml_content) + + # Dictionary to store the expanded overrides + expanded_override = {} + + # Process each service element + for service in root.findall('service'): + # Process longname + longname = service.find('longname') + if longname is not None: + longname_id = longname.get('id') + # First try to find universal/noloc + universal = longname.find('universal/noloc') + if universal is not None: + expanded_override[f"&{longname_id};"] = universal.text.strip() + else: + # If no universal, use direct noloc + noloc = longname.find('noloc') + if noloc is not None: + expanded_override[f"&{longname_id};"] = noloc.text.strip() + + # Process shortname + shortname = service.find('shortname') + if shortname is not None: + shortname_id = shortname.get('id') + noloc = shortname.find('noloc') + if noloc is not None: + expanded_override[f"&{shortname_id};"] = noloc.text.strip() + + # Create the final YAML structure + yaml_dict = {'expanded_override': expanded_override} + + # Convert to YAML string + yaml_output = yaml.dump(yaml_dict, sort_keys=False, allow_unicode=True) + + return yaml_output + +def main(): + parser = argparse.ArgumentParser(description='Convert XML file to YAML format') + parser.add_argument('input_file', help='Path to input XML file') + parser.add_argument('-o', '--output', help='Output YAML file path (optional)') + + args = parser.parse_args() + + # Check if input file exists + input_path = Path(args.input_file) + if not input_path.exists(): + print(f"Error: Input file '{args.input_file}' does not exist", file=sys.stderr) + sys.exit(1) + + try: + # Read XML content + with open(input_path, 'r', encoding='utf-8') as f: + xml_content = f.read() + + # Convert to YAML + yaml_output = convert_xml_to_yaml(xml_content) + + # Determine output path + if args.output: + output_path = Path(args.output) + else: + # Use input filename with .yaml extension + output_path = input_path.with_suffix('.yaml') + + # Write output + with open(output_path, 'w', encoding='utf-8') as f: + f.write(yaml_output) + + print(f"Successfully converted '{input_path}' to '{output_path}'") + + except Exception as e: + print(f"Error: {str(e)}", file=sys.stderr) + sys.exit(1) + +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/aws_doc_sdk_examples_tools/shared_entities_convert_test.py b/aws_doc_sdk_examples_tools/shared_entities_convert_test.py new file mode 100644 index 0000000..453ac71 --- /dev/null +++ b/aws_doc_sdk_examples_tools/shared_entities_convert_test.py @@ -0,0 +1,109 @@ +# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +# SPDX-License-Identifier: Apache-2.0 +# +# For converting shared entities from xml + +import pytest +import yaml +from .shared_entities_convert import convert_xml_to_yaml + +@pytest.fixture +def test_xml(): + return ''' + + + + AWS App2Container + + + AWS App2Container + + + Amazon App2Container + + + App2Container + + + + App2Container + + + + Amazon A2I + + Amazon Augmented AI + + + Amazon A2I + + +''' + +@pytest.fixture +def expected_output(): + return { + 'expanded_override': { + '&A2Clong;': 'App2Container', + '&A2C;': 'App2Container', + '&a2ilong;': 'Amazon Augmented AI', + '&a2ishort;': 'Amazon A2I' + } + } + +def test_basic_conversion(test_xml, expected_output): + """Test the basic XML to YAML conversion""" + yaml_output = convert_xml_to_yaml(test_xml) + converted_dict = yaml.safe_load(yaml_output) + assert converted_dict == expected_output + +def test_universal_priority(test_xml): + """Test that universal/noloc is prioritized over regional/noloc""" + yaml_output = convert_xml_to_yaml(test_xml) + converted_dict = yaml.safe_load(yaml_output) + + # A2Clong should use the universal value "App2Container" instead of the regional values + assert converted_dict['expanded_override']['&A2Clong;'] == 'App2Container' + +def test_yaml_structure(test_xml): + """Test the overall structure of the YAML output""" + yaml_output = convert_xml_to_yaml(test_xml) + converted_dict = yaml.safe_load(yaml_output) + + assert 'expanded_override' in converted_dict + assert isinstance(converted_dict['expanded_override'], dict) + +def test_malformed_xml(): + """Test handling of malformed XML""" + malformed_xml = ''' + + + + ''' + + with pytest.raises(Exception): + convert_xml_to_yaml(malformed_xml) + +# Additional test to verify no regional values are included +def test_no_regional_values(test_xml): + """Test that regional values are not included in the output""" + yaml_output = convert_xml_to_yaml(test_xml) + converted_dict = yaml.safe_load(yaml_output) + + # Verify that "AWS App2Container" and "Amazon App2Container" (regional values) are not present + all_values = converted_dict['expanded_override'].values() + assert 'AWS App2Container' not in all_values + assert 'Amazon App2Container' not in all_values + +@pytest.fixture +def empty_xml(): + return ''' + +''' + +def test_empty_xml(empty_xml): + """Test handling of empty XML""" + yaml_output = convert_xml_to_yaml(empty_xml) + converted_dict = yaml.safe_load(yaml_output) + assert converted_dict == {'expanded_override': {}} +