labunix's blog

labunixのラボUnix

awscliのすべてのコマンドとサブコマンドを一覧してみる。

■awscliのすべてのコマンドとサブコマンドを一覧してみる。

$ aws --version
aws-cli/2.1.16 Python/3.7.3 Linux/4.19.0-13-amd64 source/x86_64.debian.10 prompt/off

■以下のような制御文字のために条件式を変えたスクリプトをgithubに置いた。

$ aws help | cat -A | awk '/A.*V.*A.*I/'
A^HAV^HVA^HAI^HIL^HLA^HAB^HBL^HLE^HE S^HSE^HER^HRV^HVI^HIC^HCE^HES^HS$

$ git clone https://github.com/labunix/aws/
$ cd aws/

■「./aws-subcmd-list」を使って、
 「aws help」で得たコマンド一覧をXとして、
 「aws X help」として得たサブコマンドを「aws X Y」として出力する。
 ※「aws help Y」にならないように除外

$ ./aws-subcmd-list aws | \
  awk '!/help/{print "./aws-subcmd-list aws "$1" | awk \047{print \042aws "$1"\042,$1}\047"}' | sh > ~/aws-allsubcmd.txt 

■「help」を除くと9128のサブコマンドがある。

$ wc -l ~/aws-allsubcmd.txt
9383 /home/labunix/aws-allsubcmd.txt

$ awk '$3 ~ /^help$/' ~/aws-allsubcmd.txt | wc -l
255

$ awk '$3 !~ /^help$/' ~/aws-allsubcmd.txt | wc -l
9128

$ echo $((255 + 9128))
9383

■「aws help」と「aws cli-dev」を除くと259のコマンドがある。

$ ./aws/aws-subcmd-list aws | awk '{print "aws "$1 | "sort -V"}' > ~/a
$ awk '{a[$1" "$2]+=1}END{for(n in a){print n | "sort -V"}}' aws-allsubcmd.txt > ~/b

$ wc -l a b
 261 a
 259 b
 520 合計

■「aws help」との差2件は「aws help」と「aws cli-dev」。
 「aws cli-dev」はオプションなしらしい。

$ sdiff a b | grep ">\|<"
aws cli-dev						      <
aws help						      <

$ aws cli-dev help | lsec -sep "[A-Z].*[A-Z]" O.*P.*T.*I
OPTIONS
       None

       See 'aws help' for descriptions of global parameters.

■helpが無いサブコマンドは4つある。
 確認したところ、ホントに無い。

$ awk '$3 ~ /^help$/{print $1,$2 | "sort -V"}' ~/aws-allsubcmd.txt > ~/c

$ sdiff a c | grep "<\|>"
aws cli-dev						      <
aws configure						      <
aws ddb							      <
aws help						      <
aws history						      <
aws s3							      <

$ sdiff b c | grep "<\|>"
aws configure						      <
aws ddb							      <
aws history						      <
aws s3							      <

$ echo "configure ddb history s3" | \
  awk '{for(a=1;a<=NF;a++){print "echo \042["$a"]\042;./aws/aws-subcmd-list aws "$a" | column" | "sh"}}'
[configure]
file:		add-model	get		import		list		list-profiles	set		sso
[ddb]
put	select
[history]
list	show
[s3]
cp	ls	mb	mv	presign	rb	rm	sync	website

■「list-」ではじまるサブコマンドは以下のように探す。

$ awk '$3 ~ /^list-/' aws-allsubcmd.txt | wc -l
1275

■サブコマンドに「log」と「list-*」の文字列が含まれるコマンドを一覧する。

$ awk 'BEGIN{n=0}{if($3 ~ /log/&& $3 ~ /^list-/){n++;printf "%2d %s\n",n,$0}}' aws-allsubcmd.txt
 1 aws application-insights list-log-pattern-sets
 2 aws application-insights list-log-patterns
 3 aws athena list-data-catalogs
 4 aws cloudfront list-distributions-by-realtime-log-config
 5 aws cloudfront list-realtime-log-configs
 6 aws ds list-log-subscriptions
 7 aws greengrass list-logger-definition-versions
 8 aws greengrass list-logger-definitions
 9 aws iot list-v2-logging-levels
10 aws logs list-tags-log-group
11 aws route53 list-query-logging-configs
12 aws route53resolver list-resolver-query-log-config-associations
13 aws route53resolver list-resolver-query-log-configs
14 aws translate list-terminologies
15 aws waf list-logging-configurations
16 aws waf-regional list-logging-configurations
17 aws wafv2 list-logging-configurations

■サブコマンドの「help」を除いた、サブコマンド数を一覧する。

$ awk '{if($3 !~ /^help$/){a[$1" "$2]+=1}}END{for(n in a){print n,a[n] | "sort -V | nl"}}' ~/aws-allsubcmd.txt
     1	aws accessanalyzer 19
     2	aws acm 14
     3	aws acm-pca 24
     4	aws alexaforbusiness 93
     5	aws amplifybackend 24
     6	aws amplify 37
     7	aws amp 5
     8	aws apigatewaymanagementapi 3
     9	aws apigatewayv2 72
    10	aws apigateway 120
    11	aws appconfig 33
    12	aws appflow 18
    13	aws appintegrations 9
    14	aws application-autoscaling 10
    15	aws application-insights 27
    16	aws appmesh 38
    17	aws appstream 48
    18	aws appsync 41
    19	aws athena 28
    20	aws auditmanager 51
    21	aws autoscaling 57
    22	aws autoscaling-plans 6
    23	aws backup 50
    24	aws batch 19
    25	aws braket 9
    26	aws budgets 22
    27	aws ce 30
    28	aws chime 181
    29	aws cloud9 13
    30	aws clouddirectory 66
    31	aws cloudformation 58
    32	aws cloudfront 77
    33	aws cloudhsmv2 15
    34	aws cloudhsm 20
    35	aws cloudsearchdomain 3
    36	aws cloudsearch 26
    37	aws cloudtrail 19
    38	aws cloudwatch 31
    39	aws codeartifact 35
    40	aws codebuild 44
    41	aws codecommit 78
    42	aws codeguruprofiler 23
    43	aws codeguru-reviewer 14
    44	aws codepipeline 37
    45	aws codestar 18
    46	aws codestar-connections 12
    47	aws codestar-notifications 13
    48	aws cognito-identity 21
    49	aws cognito-idp 100
    50	aws cognito-sync 17
    51	aws comprehendmedical 20
    52	aws comprehend 60
    53	aws compute-optimizer 11
    54	aws configservice 86
    55	aws configure 8
    56	aws connectparticipant 8
    57	aws connect 88
    58	aws connect-contact-lens 1
    59	aws cur 4
    60	aws customer-profiles 28
    61	aws databrew 38
    62	aws dataexchange 22
    63	aws datapipeline 21
    64	aws datasync 32
    65	aws dax 21
    66	aws ddb 2
    67	aws deploy 49
    68	aws detective 13
    69	aws devicefarm 77
    70	aws devops-guru 18
    71	aws directconnect 52
    72	aws discovery 23
    73	aws dlm 9
    74	aws dms 55
    75	aws docdb 43
    76	aws ds 62
    77	aws dynamodbstreams 4
    78	aws dynamodb 52
    79	aws ebs 6
    80	aws ec2 437
    81	aws ec2-instance-connect 1
    82	aws ecr 36
    83	aws ecr-public 21
    84	aws ecs 52
    85	aws efs 22
    86	aws eks 30
    87	aws elasticache 66
    88	aws elasticbeanstalk 48
    89	aws elastictranscoder 17
    90	aws elastic-inference 6
    91	aws elbv2 35
    92	aws elb 30
    93	aws emr 53
    94	aws emr-containers 16
    95	aws es 39
    96	aws events 41
    97	aws firehose 12
    98	aws fms 26
    99	aws forecastquery 1
   100	aws forecast 33
   101	aws frauddetector 53
   102	aws fsx 17
   103	aws gamelift 92
   104	aws glacier 34
   105	aws globalaccelerator 47
   106	aws glue 157
   107	aws greengrassv2 22
   108	aws greengrass 92
   109	aws groundstation 25
   110	aws guardduty 58
   111	aws healthlake 8
   112	aws health 13
   113	aws history 2
   114	aws honeycode 12
   115	aws iam 142
   116	aws identitystore 4
   117	aws imagebuilder 48
   118	aws importexport 6
   119	aws inspector 37
   120	aws iot1click-devices 13
   121	aws iot1click-projects 16
   122	aws iotanalytics 34
   123	aws iotdeviceadvisor 13
   124	aws iotevents 16
   125	aws iotevents-data 4
   126	aws iotfleethub 8
   127	aws iotsecuretunneling 7
   128	aws iotsitewise 58
   129	aws iotthingsgraph 35
   130	aws iotwireless 51
   131	aws iot 219
   132	aws iot-data 5
   133	aws iot-jobs-data 4
   134	aws ivs 24
   135	aws kafka 29
   136	aws kendra 29
   137	aws kinesisanalyticsv2 27
   138	aws kinesisanalytics 20
   139	aws kinesisvideo 19
   140	aws kinesis 28
   141	aws kinesis-video-archived-media 5
   142	aws kinesis-video-media 1
   143	aws kinesis-video-signaling 2
   144	aws kms 46
   145	aws lakeformation 13
   146	aws lambda 59
   147	aws lex-models 39
   148	aws lex-runtime 5
   149	aws license-manager 40
   150	aws lightsail 142
   151	aws location 35
   152	aws logs 43
   153	aws lookoutvision 19
   154	aws machinelearning 29
   155	aws macie2 51
   156	aws macie 7
   157	aws managedblockchain 20
   158	aws marketplacecommerceanalytics 2
   159	aws marketplace-catalog 6
   160	aws marketplace-entitlement 1
   161	aws mediaconnect 27
   162	aws mediaconvert 25
   163	aws medialive 56
   164	aws mediapackage 18
   165	aws mediapackage-vod 16
   166	aws mediastore 21
   167	aws mediastore-data 5
   168	aws mediatailor 7
   169	aws meteringmarketplace 4
   170	aws mgh 17
   171	aws migrationhub-config 3
   172	aws mobile 9
   173	aws mq 22
   174	aws mturk 39
   175	aws mwaa 11
   176	aws neptune 64
   177	aws networkmanager 35
   178	aws network-firewall 29
   179	aws opsworks 76
   180	aws opsworks-cm 20
   181	aws organizations 51
   182	aws outposts 10
   183	aws personalize 43
   184	aws personalize-events 3
   185	aws personalize-runtime 2
   186	aws pinpoint 112
   187	aws pinpoint-email 42
   188	aws pinpoint-sms-voice 7
   189	aws pi 2
   190	aws polly 9
   191	aws pricing 3
   192	aws qldb 19
   193	aws qldb-session 1
   194	aws quicksight 99
   195	aws ram 24
   196	aws rds 135
   197	aws rds-data 5
   198	aws redshift 93
   199	aws redshift-data 9
   200	aws rekognition 49
   201	aws resourcegroupstaggingapi 8
   202	aws resource-groups 16
   203	aws robomaker 57
   204	aws route53domains 28
   205	aws route53resolver 35
   206	aws route53 65
   207	aws s3api 92
   208	aws s3control 39
   209	aws s3outposts 3
   210	aws s3 9
   211	aws sagemaker 234
   212	aws sagemaker-a2i-runtime 5
   213	aws sagemaker-edge 2
   214	aws sagemaker-featurestore-runtime 3
   215	aws sagemaker-runtime 1
   216	aws savingsplans 9
   217	aws schemas 32
   218	aws sdb 10
   219	aws secretsmanager 19
   220	aws securityhub 48
   221	aws serverlessrepo 14
   222	aws servicecatalog 88
   223	aws servicecatalog-appregistry 20
   224	aws servicediscovery 23
   225	aws service-quotas 19
   226	aws sesv2 80
   227	aws ses 69
   228	aws shield 29
   229	aws signer 18
   230	aws sms 35
   231	aws snowball 22
   232	aws sns 33
   233	aws sqs 20
   234	aws ssm 132
   235	aws sso 5
   236	aws sso-admin 31
   237	aws sso-oidc 3
   238	aws stepfunctions 23
   239	aws storagegateway 84
   240	aws sts 8
   241	aws support 14
   242	aws swf 37
   243	aws synthetics 13
   244	aws textract 6
   245	aws timestream-query 3
   246	aws timestream-write 15
   247	aws transcribe 27
   248	aws transfer 20
   249	aws translate 14
   250	aws wafv2 41
   251	aws waf 78
   252	aws waf-regional 82
   253	aws wellarchitected 28
   254	aws workdocs 41
   255	aws worklink 33
   256	aws workmailmessageflow 1
   257	aws workmail 49
   258	aws workspaces 50
   259	aws xray 27