snapctl 1.0.4__tar.gz → 1.1.1__tar.gz

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.

Potentially problematic release.


This version of snapctl might be problematic. Click here for more details.

Files changed (55) hide show
  1. {snapctl-1.0.4 → snapctl-1.1.1}/PKG-INFO +192 -35
  2. {snapctl-1.0.4 → snapctl-1.1.1}/README.md +191 -34
  3. {snapctl-1.0.4 → snapctl-1.1.1}/pyproject.toml +1 -1
  4. snapctl-1.1.1/snapctl/commands/application.py +135 -0
  5. {snapctl-1.0.4 → snapctl-1.1.1}/snapctl/commands/game.py +3 -3
  6. {snapctl-1.0.4 → snapctl-1.1.1}/snapctl/commands/snapend.py +246 -28
  7. snapctl-1.1.1/snapctl/commands/snapend_manifest.py +861 -0
  8. snapctl-1.1.1/snapctl/commands/snaps.py +109 -0
  9. {snapctl-1.0.4 → snapctl-1.1.1}/snapctl/config/constants.py +19 -2
  10. snapctl-1.1.1/snapctl/data/releases/1.1.0.mdx +20 -0
  11. snapctl-1.1.1/snapctl/data/releases/1.1.1.mdx +8 -0
  12. {snapctl-1.0.4 → snapctl-1.1.1}/snapctl/main.py +181 -10
  13. snapctl-1.1.1/snapctl/utils/exceptions.py +8 -0
  14. {snapctl-1.0.4 → snapctl-1.1.1}/snapctl/utils/helper.py +10 -1
  15. {snapctl-1.0.4 → snapctl-1.1.1}/LICENSE +0 -0
  16. {snapctl-1.0.4 → snapctl-1.1.1}/snapctl/__init__.py +0 -0
  17. {snapctl-1.0.4 → snapctl-1.1.1}/snapctl/__main__.py +0 -0
  18. {snapctl-1.0.4 → snapctl-1.1.1}/snapctl/commands/__init__.py +0 -0
  19. {snapctl-1.0.4 → snapctl-1.1.1}/snapctl/commands/byogs.py +0 -0
  20. {snapctl-1.0.4 → snapctl-1.1.1}/snapctl/commands/byosnap.py +0 -0
  21. {snapctl-1.0.4 → snapctl-1.1.1}/snapctl/commands/byows.py +0 -0
  22. {snapctl-1.0.4 → snapctl-1.1.1}/snapctl/commands/generate.py +0 -0
  23. {snapctl-1.0.4 → snapctl-1.1.1}/snapctl/commands/release_notes.py +0 -0
  24. {snapctl-1.0.4 → snapctl-1.1.1}/snapctl/config/__init__.py +0 -0
  25. {snapctl-1.0.4 → snapctl-1.1.1}/snapctl/config/app.py +0 -0
  26. {snapctl-1.0.4 → snapctl-1.1.1}/snapctl/config/endpoints.py +0 -0
  27. {snapctl-1.0.4 → snapctl-1.1.1}/snapctl/config/hashes.py +0 -0
  28. {snapctl-1.0.4 → snapctl-1.1.1}/snapctl/data/__init__.py +0 -0
  29. {snapctl-1.0.4 → snapctl-1.1.1}/snapctl/data/profiles/__init__.py +0 -0
  30. {snapctl-1.0.4 → snapctl-1.1.1}/snapctl/data/profiles/snapser-byosnap-profile.json +0 -0
  31. {snapctl-1.0.4 → snapctl-1.1.1}/snapctl/data/profiles/snapser-byosnap-profile.yaml +0 -0
  32. {snapctl-1.0.4 → snapctl-1.1.1}/snapctl/data/profiles/snapser-byosnap-profile.yml +0 -0
  33. {snapctl-1.0.4 → snapctl-1.1.1}/snapctl/data/releases/1.0.0.mdx +0 -0
  34. {snapctl-1.0.4 → snapctl-1.1.1}/snapctl/data/releases/1.0.2.mdx +0 -0
  35. {snapctl-1.0.4 → snapctl-1.1.1}/snapctl/data/releases/1.0.3.mdx +0 -0
  36. {snapctl-1.0.4 → snapctl-1.1.1}/snapctl/data/releases/1.0.4.mdx +0 -0
  37. {snapctl-1.0.4 → snapctl-1.1.1}/snapctl/data/releases/__init__.py +0 -0
  38. {snapctl-1.0.4 → snapctl-1.1.1}/snapctl/data/releases/beta-0.46.0.mdx +0 -0
  39. {snapctl-1.0.4 → snapctl-1.1.1}/snapctl/data/releases/beta-0.46.4.mdx +0 -0
  40. {snapctl-1.0.4 → snapctl-1.1.1}/snapctl/data/releases/beta-0.47.0.mdx +0 -0
  41. {snapctl-1.0.4 → snapctl-1.1.1}/snapctl/data/releases/beta-0.47.1.mdx +0 -0
  42. {snapctl-1.0.4 → snapctl-1.1.1}/snapctl/data/releases/beta-0.47.2.mdx +0 -0
  43. {snapctl-1.0.4 → snapctl-1.1.1}/snapctl/data/releases/beta-0.48.0.mdx +0 -0
  44. {snapctl-1.0.4 → snapctl-1.1.1}/snapctl/data/releases/beta-0.49.0.mdx +0 -0
  45. {snapctl-1.0.4 → snapctl-1.1.1}/snapctl/data/releases/beta-0.49.1.mdx +0 -0
  46. {snapctl-1.0.4 → snapctl-1.1.1}/snapctl/data/releases/beta-0.49.2.mdx +0 -0
  47. {snapctl-1.0.4 → snapctl-1.1.1}/snapctl/data/releases/beta-0.49.3.mdx +0 -0
  48. {snapctl-1.0.4 → snapctl-1.1.1}/snapctl/data/releases/beta-0.50.0.mdx +0 -0
  49. {snapctl-1.0.4 → snapctl-1.1.1}/snapctl/data/releases/beta-0.51.0.mdx +0 -0
  50. {snapctl-1.0.4 → snapctl-1.1.1}/snapctl/data/releases/beta-0.53.1.mdx +0 -0
  51. {snapctl-1.0.4 → snapctl-1.1.1}/snapctl/types/__init__.py +0 -0
  52. {snapctl-1.0.4 → snapctl-1.1.1}/snapctl/types/definitions.py +0 -0
  53. {snapctl-1.0.4 → snapctl-1.1.1}/snapctl/utils/__init__.py +0 -0
  54. {snapctl-1.0.4 → snapctl-1.1.1}/snapctl/utils/echo.py +0 -0
  55. {snapctl-1.0.4 → snapctl-1.1.1}/snapctl/utils/telemetry.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: snapctl
3
- Version: 1.0.4
3
+ Version: 1.1.1
4
4
  Summary: Snapser CLI Tool
5
5
  Author: Ajinkya Apte
6
6
  Author-email: aj@snapser.com
@@ -232,7 +232,27 @@ Run the following to see the list of commands Snapser supports
232
232
  snapctl --help
233
233
  ```
234
234
 
235
- ### BYO Snap - Bring your own Snap
235
+ ### 1. Snaps
236
+ Snapctl commands for snaps
237
+
238
+ #### 1. snaps help
239
+ See all the supported commands.
240
+
241
+ ```bash
242
+ # Help for the byosnap command
243
+ snapctl snaps --help
244
+ ```
245
+
246
+ #### 2. snaps enumerate
247
+ See all the supported commands.
248
+
249
+ ```bash
250
+ # Enumerate details for all the available snaps
251
+ # $output_path = Optional path to where you want snapctl to save snap details
252
+ snapctl snaps enumerate --out-path
253
+ ```
254
+
255
+ ### 2. BYO Snap - Bring your own Snap
236
256
  Snapctl commands for your custom code
237
257
 
238
258
  #### 1. byosnap help
@@ -463,7 +483,7 @@ snapctl byosnap publish-version --help
463
483
  snapctl byosnap publish-version --byosnap-id $byosnap_id --tag $image_tag --version $version --path $byosnap_profile_path
464
484
  ```
465
485
 
466
- ### BYO Workstation - Bring your own Workstation
486
+ ### 3. BYO Workstation - Bring your own Workstation
467
487
  Snapctl commands for bring your own workstation. This command allows you to attach your workstation to a Snapend. This is useful for testing and debugging your BYOSnap code.
468
488
 
469
489
  #### 1. byows help
@@ -494,7 +514,7 @@ source ~/.snapser/byows_env_setup.sh
494
514
 
495
515
  Then start your BYOSnap local server in the same tab that has the environment variables set up. This will ensure that the BYOSnap code can access the internal SDK and other Snaps in your Snapend.
496
516
 
497
- ### BYO Game Server - Bring your own Game Server
517
+ ### 4. BYO Game Server - Bring your own Game Server
498
518
  Snapctl commands for your custom game server
499
519
 
500
520
  #### 1. byogs help
@@ -582,32 +602,133 @@ snapctl byogs push --help
582
602
  snapctl byogs push --tag $image_tag
583
603
  ```
584
604
 
605
+ ### 5. Application
606
+ Snapctl commands for your application
607
+
608
+ #### 1. application help
609
+
610
+ See all the supported commands
611
+
612
+ ```bash
613
+ # Help for the byogs command
614
+ snapctl application --help
615
+ ```
616
+
617
+ #### 2. application create
618
+ Create an application
619
+ ```bash
620
+ snapctl application create --name $app_name
621
+ ```
585
622
 
586
- ### Game
587
- Snapctl commands for your game
623
+ #### 3. application enumerate
624
+ List all the applications
625
+ ```bash
626
+ snapctl application enumerate
627
+ ```
588
628
 
589
- #### 1. game help
629
+ ### 6. Snapend Manifest
630
+ Snapctl commands for the Snapend manifest. Manifest is the representation of your Snapser backend
631
+ stored as a JSON or YAML. The manifest can then be used to create, update your backend.
632
+
633
+ #### 1. snapend-manifest help
590
634
 
591
635
  See all the supported commands
592
636
 
593
637
  ```bash
594
638
  # Help for the byogs command
595
- snapctl game --help
639
+ snapctl snapend-manifest --help
596
640
  ```
597
641
 
598
- #### 2. game create
599
- Create a game
642
+ #### 2. Snapend Manifest Create
643
+
644
+ Create a Snapend manifest. It should be noted that the latest versions of the snap at the time of running the command is what gets added to the manifest. For example, say the `analytics` snap has versions `v1.0.0`, `v1.1.0` available on the web portal. If you run the create command with `--snaps analytics` the `v1.1.0` which is the latest at that moment in time, gets added to your manifest.
645
+
646
+ The output manifest file can then be used with the `snapend create` or `snapend clone` commands.
647
+
600
648
  ```bash
601
- snapctl game create --name $game_name
649
+ # Create a Snapend manifest file
650
+ # $name = Name for your backend, which is stored in the outputted manifest
651
+ # $env = One of DEVELOPMENT, STAGING or PRODUCTION
652
+ # $output_path_filename = Path and file name to store the manifest. The filename should end with .json or .yaml
653
+ # $snaps = Comma separated list of snap ids you want to add. You can get the snap ids from the
654
+ # `snapctl snaps enumerate --out-path ./snaps.json` command
655
+ # $features = Pass `WEB_SOCKETS` if you want to enable web sockets for your backend.
656
+ # Note: One of snaps or features is required
657
+ # Example:
658
+ # snapend-manifest create --name my-dev-snapend --env DEVELOPMENT --snaps auth,analytics --add-features WEB_SOCKETS --out-path ./snapend-manifest.json
659
+
660
+ snapctl snapend-manifest create --name $name --env $env --snaps $snaps --features $features --out-path-filename $output_path_filename
602
661
  ```
603
662
 
604
- #### 3. game enumerate
605
- List all the games
663
+ #### 3. Snapend Manifest Sync
664
+
665
+ Sync with an existing Snapend manifest. This command is idempotent and destructive.
666
+
667
+ - It ensures the input manifest gets replaced with the values you pass in `--snaps` and `--features`. For example: If your input manifest has a snap but you do not pass the snap in the `--snaps`, it will be removed from the output. Same goes for `--features`.
668
+ - Additionally, if a snap is present in the manifest and you pass it in as part of `--snaps` it will not be touched. But if a snap is not part of the manifest and you pass it in as part of `--snaps` it will be added with the latest version of the snap. For example, say the `analytics` snap has versions `v1.0.0`, `v1.1.0` available on the web portal. If you run the sync command with `--snaps analytics` and you had `v1.0.0` in the manifest then it wont be touched. However, if you did not have it in the manifest then the `v1.1.0` which is the latest at that moment in time, gets added to your manifest.
669
+
670
+ **IMPORTANT**: If you are looking for a command to purely add or remove snaps or features, consider using the `update` command instead.
671
+
606
672
  ```bash
607
- snapctl game enumerate
673
+ # Sync a Snapend manifest file
674
+ # $input_manifest = Path and file name of the current manifest. The filename should end with .json or .yaml
675
+ # $output_path_filename = Path and file name to store the manifest. The filename should end with .json or .yaml
676
+ # $snaps = Comma separated list of snap ids you want to have at the end. You can get the snap ids from # the `snapctl snaps enumerate --out-path ./snaps.json` command.
677
+ # IMPORTANT: If your manifest has a snap but your --snaps does not. It will be removed.
678
+ # $features = Pass `WEB_SOCKETS` if you want to enable web sockets for your backend.
679
+ # IMPORTANT: If your manifest has a feature but your --features does not. It will be removed.
680
+ # Note: One of snaps, and features is required
681
+ # Example:
682
+ # snapctl snapend-manifest sync --manifest-path-filename ./snapser-jn86b0dv-manifest.yaml --add-snaps game-server-fleets --remove-snaps analytics --remove-features WEB_SOCKETS --out-path ./snapend-updated-manifest.yaml
683
+
684
+ snapctl snapend-manifest update --manifest-path-filename $input_manifest --snaps $snaps --features $features--out-path-filename $output_path_filename
608
685
  ```
609
686
 
610
- ### Snapend
687
+ #### 4. Snapend Manifest Upgrade
688
+
689
+ Upgrade all snaps or a list of snaps to the latest version of the snap available at that moment in time. If you do not pass in `--snaps` then all the snaps in the manifest will be upgraded. If you do pass a list of snaps then all snap Ids are expected to be valid.
690
+
691
+ ```bash
692
+ # Update a Snapend manifest file
693
+ # $input_manifest = Path and file name of the current manifest. The filename should end with .json or .yaml
694
+ # $output_path_filename = Path and file name to store the manifest. The filename should end with .json or .yaml
695
+ # $snaps = (Optional) Comma separated list of snap ids you want to upgrade. You can get the snap ids
696
+ # from the `snapctl snaps enumerate --out-path ./snaps.json` command
697
+ # IMPORTANT: If the --snaps parameter is not provided then all snaps in the manifest will be upgraded
698
+ # Example:
699
+ # snapctl snapend-manifest upgrade --manifest-path-filename ./snapser-jn86b0dv-manifest.yaml --snaps game-server-fleets --out-path ./snapend-updated-manifest.yaml
700
+ # snapctl snapend-manifest upgrade --manifest-path-filename ./snapser-jn86b0dv-manifest.yaml --out-path ./snapend-updated-manifest.yaml
701
+
702
+ snapctl snapend-manifest upgrade --manifest-path-filename $input_manifest --out-path-filename $output_path_filename
703
+
704
+ snapctl snapend-manifest upgrade --manifest-path-filename $input_manifest --snaps $snaps --out-path-filename $output_path_filename
705
+ ```
706
+
707
+ #### 5. Snapend Manifest Update
708
+
709
+ Update your manifest. This command is additive and subtractive. It allows you to add or remove, snaps and features from an existing manifest. Unlike `sync`, this will only add or remove entities from your manifest, keeping the remaining part of the manifest intact. If your manifest has a snap and you pass it with `--add-snaps` then it will be ignored. However if you do not have a snap and you pass it with `--add-snaps` then the latest version of the snap will be added. If you pass a snap with `--remove-snaps` that is already not in the manifest, then it will be skipped. This ensures idempotency after the initial update is made to the snapend manifest.
710
+
711
+ **IMPORTANT**:
712
+ - All additions are performed before removals.
713
+ - If you are looking to have strict relation between your input (snaps + features) and your output manifest, consider using the `sync` command.
714
+
715
+ ```bash
716
+ # Update a Snapend manifest file
717
+ # $input_manifest = Path and file name of the current manifest. The filename should end with .json or .yaml
718
+ # $output_path_filename = Path and file name to store the manifest. The filename should end with .json or .yaml
719
+ # $addSnaps = Comma separated list of snap ids you want to add to your manifest. You can get the snap ids from # the `snapctl snaps enumerate --out-path ./snaps.json` command.
720
+ # $removeSnaps = Comma separated list of snap ids you want to remove from your manifest. You can get the snap ids from # the `snapctl snaps enumerate --out-path ./snaps.json` command.
721
+ # $addFeatures = Pass `WEB_SOCKETS` if you want to enable web sockets for your backend.
722
+ # $removeFeatures = Pass `WEB_SOCKETS` if you want to disable web sockets for your backend.
723
+ # Note: One of add-snaps, remove-snaps, add-features or remove-features is required
724
+ # Example:
725
+ # snapctl snapend-manifest update --manifest-path-filename ./snapser-jn86b0dv-manifest.yaml --add-snaps game-server-fleets --remove-snaps analytics --remove-features WEB_SOCKETS --out-path ./snapend-updated-manifest.yaml
726
+
727
+ snapctl snapend-manifest update --manifest-path-filename $input_manifest --add-snaps $addSnaps --remove-snaps $removeSnaps --add-features $addFeatures --remove-features $removeFeatures --out-path-filename $output_path_filename
728
+ ```
729
+
730
+
731
+ ### 7. Snapend
611
732
  Snapctl commands for your snapend
612
733
 
613
734
  #### 1. snapend help
@@ -653,7 +774,26 @@ snapctl snapend download --snapend-id $snapend_id --category $category --format
653
774
  snapctl snapend download --snapend-id $snapend_id --category $category --format $format --type $type --http-lib $http_lib --out-path $out_path
654
775
  ```
655
776
 
656
- #### 3. snapend clone
777
+ #### 3. snapend create
778
+
779
+ Create a Snapend from an existing manifest. Passing the blocking flag ensures your CLI command waits till the new Snapend is up.
780
+
781
+ ```bash
782
+ # Help for the crete command
783
+ snapctl snapend create --help
784
+
785
+ # Create a Snapend
786
+ # $app_id = App Id
787
+ # $path_to_manifest = Path to the manifest file; should include the file name
788
+ # Optionally override name and environment by passing the --name and --environment overrides
789
+ # Example:
790
+ # snapctl snapend create --manifest-path-filename $path_to_manifest --app-id $app_id --blocking
791
+ snapctl snapend create --manifest-path-filename $path_to_manifest --app-id $app_id
792
+ snapctl snapend create --manifest-path-filename $path_to_manifest --app-id $app_id --blocking
793
+ snapctl snapend create --name $name --env $env --manifest-path-filename $path_to_manifest --app-id $app_id --blocking
794
+ ```
795
+
796
+ #### 4. snapend clone
657
797
 
658
798
  Clone a Snapend from an existing manifest. Passing the blocking flag ensures your CLI command waits till the new Snapend is up.
659
799
 
@@ -662,17 +802,17 @@ Clone a Snapend from an existing manifest. Passing the blocking flag ensures you
662
802
  snapctl snapend clone --help
663
803
 
664
804
  # Clone your Snapend
665
- # $game_id = Game Id
805
+ # $app_id = App Id
666
806
  # $snapend_name = Name of your new Snapend
667
807
  # $env = One of development, staging
668
808
  # $path_to_manifest = Path to the manifest file; should include the file name
669
809
  # Example:
670
- # snapctl snapend clone --game-id 2581d802-aca-496c-8a76-1953ad0db165 --name new-snapend --env development --manifest-path-filename "C:\Users\name\Downloads\snapser-ox1bcyim-manifest.json" --blocking
671
- snapctl snapend clone --game-id $game_id --name $snapend_name --env $env --manifest-path-filename "$path_to_manifest"
672
- snapctl snapend clone --game-id $game_id --name $snapend_name --env $env --manifest-path-filename "$path_to_manifest" --blocking
810
+ # snapctl snapend clone --app-id 2581d802-aca-496c-8a76-1953ad0db165 --name new-snapend --env development --manifest-path-filename "C:\Users\name\Downloads\snapser-ox1bcyim-manifest.json" --blocking
811
+ snapctl snapend clone --app-id $app_id --name $snapend_name --env $env --manifest-path-filename "$path_to_manifest"
812
+ snapctl snapend clone --app-id $app_id --name $snapend_name --env $env --manifest-path-filename "$path_to_manifest" --blocking
673
813
  ```
674
814
 
675
- #### 4. snapend apply
815
+ #### 5. snapend apply
676
816
 
677
817
  Apply changes to your Snapend from a manifest. You should have the latest manifest before applying changes. Basically, when you download a manifest, Snapser adds an `applied_configuration` section to your manifest, which stores the state of the Snapend during export. Now, if someone manually updates the Snapend or a configuration of a Snap, you are no longer going to have the latest Snapend representation in the `applied_configuration`. This is how Snapser prevents you from stomping over someone elses changes.
678
818
 
@@ -695,7 +835,7 @@ snapctl snapend apply --manifest-path-filename "$path_to_manifest" --blocking
695
835
  snapctl snapend apply --manifest-path-filename "$path_to_manifest" --force --blocking
696
836
  ```
697
837
 
698
- #### 5. snapend update
838
+ #### 6. snapend update
699
839
 
700
840
  Update your BYOSnap or BYOGs versions for the Snapend
701
841
 
@@ -715,7 +855,7 @@ snapctl snapend update --help
715
855
  snapctl snapend update --snapend-id $snapend_id --byosnaps $byosnaps --byogs $byogs --blocking
716
856
  ```
717
857
 
718
- #### 6. snapend state
858
+ #### 7. snapend state
719
859
 
720
860
  Get the Snapend state
721
861
 
@@ -730,7 +870,7 @@ snapctl snapend state --help
730
870
  snapctl snapend state $snapend_id
731
871
  ```
732
872
 
733
- ### Generate
873
+ ### 8. Generate
734
874
  Generator tool to help generate credentials
735
875
 
736
876
  #### 1. generate help
@@ -757,6 +897,7 @@ snapctl generate credentials --category "ecr" --out-path $output_path
757
897
  | 1 | General error |
758
898
  | 2 | Input error |
759
899
  | 3 | Resource not found |
900
+ | 4 | Internal server error |
760
901
 
761
902
  ### Configuration Errors
762
903
  | Error Code | Description |
@@ -765,10 +906,23 @@ snapctl generate credentials --category "ecr" --out-path $output_path
765
906
  | 11 | Configuration error |
766
907
  | 12 | Dependency missing |
767
908
 
909
+ ### Snaps Errors
910
+ | Error Code | Description |
911
+ |------------|----------------------------------------------------------|
912
+ | 13 | Snaps Generic error |
913
+ | 14 | Snaps Enumerate error |
914
+
915
+ ### Snapend Manifest Errors
916
+ | Error Code | Description |
917
+ |------------|----------------------------------------------------------|
918
+ | 16 | Snapend Manifest create error |
919
+ | 17 | Snapend Manifest update error |
920
+ | 18 | Snapend Manifest upgrade error |
921
+
768
922
  ### BYOGS Errors
769
923
  | Error Code | Description |
770
924
  |------------|----------------------------------------------------------|
771
- | 3 | BYOGs resource not found |
925
+ | 3 | Resource not found: BYOGs resource not found |
772
926
  | 20 | Generic BYOGS error |
773
927
  | 21 | BYOGS dependency missing |
774
928
  | 22 | BYOGS ECR login error |
@@ -781,7 +935,7 @@ snapctl generate credentials --category "ecr" --out-path $output_path
781
935
  ### BYOSNAP Errors
782
936
  | Error Code | Description |
783
937
  |------------|----------------------------------------------------------|
784
- | 3 | BYOSnap resource not found |
938
+ | 3 | Resource not found: BYOSnap resource not found |
785
939
  | 30 | Generic BYOSNAP error |
786
940
  | 31 | BYOSNAP dependency missing |
787
941
  | 32 | BYOSNAP ECR login error |
@@ -806,21 +960,21 @@ snapctl generate credentials --category "ecr" --out-path $output_path
806
960
  | 87 | BYOSNAP swagger error |
807
961
 
808
962
 
809
- ### Game Errors
963
+ ### Application Errors
810
964
  | Error Code | Description |
811
965
  |------------|----------------------------------------------------------|
812
- | 3 | Game resource not found |
813
- | 50 | Generic game error |
814
- | 51 | Game create error |
815
- | 52 | Game create permission error |
816
- | 53 | Game create limit error |
817
- | 54 | Game create duplicate name error |
818
- | 55 | Game enumerate error |
966
+ | 3 | Resource not found: Application resource not found |
967
+ | 50 | Generic application error |
968
+ | 51 | Application create error |
969
+ | 52 | Application create permission error |
970
+ | 53 | Application create limit error |
971
+ | 54 | Application create duplicate name error |
972
+ | 55 | Application enumerate error |
819
973
 
820
974
  ### Snapend Errors
821
975
  | Error Code | Description |
822
976
  |------------|----------------------------------------------------------|
823
- | 3 | Snapend resource not found |
977
+ | 3 | Resource not found: Snapend resource not found |
824
978
  | 60 | Generic snapend error |
825
979
  | 61 | Snapend enumerate error |
826
980
  | 62 | Snapend clone error |
@@ -838,6 +992,9 @@ snapctl generate credentials --category "ecr" --out-path $output_path
838
992
  | 74 | Snapend update timeout error |
839
993
  | 75 | Snapend state error |
840
994
  | 76 | Snapend manifest mismatch error |
995
+ | 77 | Snapend create error |
996
+ | 78 | Snapend create server error |
997
+ | 79 | Snapend create timeout error |
841
998
 
842
999
  ### Generate Errors
843
1000
  | Error Code | Description |