snapctl 0.44.1__py3-none-any.whl → 0.46.0__py3-none-any.whl

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.

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: snapctl
3
- Version: 0.44.1
3
+ Version: 0.46.0
4
4
  Summary: Snapser CLI Tool
5
5
  Author: Ajinkya Apte
6
6
  Author-email: aj@snapser.com
@@ -13,6 +13,7 @@ Requires-Dist: configparser (>=6.0.0,<7.0.0)
13
13
  Requires-Dist: pyfiglet (>=1.0.2,<2.0.0)
14
14
  Requires-Dist: pytest (>=8.2.2,<9.0.0)
15
15
  Requires-Dist: pytest-mock (>=3.14.0,<4.0.0)
16
+ Requires-Dist: pyyaml (>=6.0.2,<7.0.0)
16
17
  Requires-Dist: requests (>=2.28.2,<3.0.0)
17
18
  Requires-Dist: typer[all] (>=0.12.3,<0.13.0)
18
19
  Description-Content-Type: text/markdown
@@ -22,6 +23,61 @@ Description-Content-Type: text/markdown
22
23
  Snapser has developed a CLI tool called **snapctl** that can be used on MaxOSX, Linux and Windows machines.
23
24
  Snapctl will be the best way for game studios to integrate Snapser into their build pipelines.
24
25
 
26
+ ## What's new in the latest version?
27
+ ### Breaking Changes
28
+ - **BYOSnap**:
29
+ - BYOSnap commands like `publish`, `sync` and `upload-docs` now take BYOSnap ID as a
30
+ non-positional argument. You now have to pass the BYOSnap Id using `--byosnap-id`.
31
+ ```bash
32
+ # Previously
33
+ snapctl byosnap publish byosnap-jinks-flask --version "v0.0.1" --path $path
34
+
35
+ # New
36
+ snapctl byosnap publish --byosnap-id byosnap-jinks-flask --version "v0.0.1" --path $path
37
+ ```
38
+ - BYOSnap input parameter `--byosnap-profile-file` has been renamed to `--profile-filename`
39
+
40
+ - **Generate**: The ability to generate a base BYOSnap profile using the `generate` command has
41
+ been deprecated. Instead its moved under `byosnap` commands for consistency.
42
+
43
+ - **Snapend**:
44
+ - The manifest path variable has been changed for Snapend commands like `apply` and `clone`
45
+ from `--manifest-path` to `--manifest-path-filename`, for consistency with our new
46
+ variable naming nomenclature.
47
+ - The Snapend download command has new variable names like `format` and `type`. This is to add
48
+ more consistency and clarity to the command.
49
+ ```bash
50
+ # Previously
51
+ # snapctl snapend download --snapend-id gx5x6bc0 --category sdk --type unity --sdk-access-type external --sdk-auth-type user --out-path .
52
+
53
+ # New
54
+ snapctl snapend download --snapend-id gx5x6bc0 --category sdk --format unity --type user --out-path .
55
+ ```
56
+
57
+ - Input param `--docker` for BYOGS and BYOSnap commands has been changed to `--docker_filename`
58
+
59
+ ### New Commands
60
+ - **BYOSnap Generate Profile**: You can now use a new command to generate a base BYOSnap profile.
61
+ ```bash
62
+ snapctl byosnap generate-profile --out-path $outputPath --profile-filename $profileName
63
+ ```
64
+ - **BYOSnap Validate Profile**: After you hand edit the base BYOSnap profile, you can use this
65
+ command to validate your BYOSnap profile before using it in other commands like `publish` and `sync`
66
+ ```bash
67
+ snapctl byosnap validate-profile --path $path --profile-filename $profileName
68
+ # or
69
+ snapctl byosnap validate-profile --resources-path $resources_path --profile-filename $profileName
70
+ ```
71
+ - **Release Notes**: You can now view release notes for a specific version of Snapctl using the
72
+ `release-notes` command.
73
+ ```bash
74
+ snapctl release-notes releases
75
+ snapctl release-notes show
76
+ # or
77
+ snapctl release-notes show --version $version
78
+ ```
79
+
80
+ ## Requirements
25
81
  ### Python 3.X and Pip
26
82
  The Snapser CLI tool depends on Python 3.X and Pip. MacOS comes pre installed with Python. But
27
83
  please make sure you are running Python 3.X. On Windows, you can download Python 3.X from the
@@ -117,7 +173,7 @@ will look for the config file at that path.
117
173
 
118
174
  ```
119
175
  [default]
120
- snapser_access_key = <key>
176
+ snapser_access_key = $your_api_key
121
177
  ```
122
178
 
123
179
  Or you can run the following command
@@ -176,11 +232,17 @@ setx SNAPSER_PROFILE="my_profile_name";
176
232
 
177
233
  Or you can pass **--profile my_profile_name** with every command to tell Snapser to use a particular profile.
178
234
 
235
+ ## Command variable name nomenclature
236
+ All commands follow these rules with their input variables
237
+ 1. A variable that is named `*path` = CLI tool expects a path to a **folder**
238
+ 2. A variable that is named `*filename` = CLI tool expects the name of the file, without the path.
239
+ 3. A variable that is named `*path_filename` = CLI tool expects the full path. The folder up to the name of the file.
240
+
179
241
  ## Commands
180
242
 
181
243
  Run the following to see the list of commands Snapser supports
182
244
 
183
- ```
245
+ ```bash
184
246
  snapctl --help
185
247
  ```
186
248
 
@@ -192,11 +254,52 @@ Snapctl commands for your custom code
192
254
  See all the supported commands. You should mainly need the `publish` and `sync` commands.
193
255
  All the others are for CRUD operations.
194
256
 
195
- ```
257
+ ```bash
196
258
  # Help for the byosnap command
197
259
  snapctl byosnap --help
198
260
  ```
199
- #### 2. publish
261
+
262
+ ### 2. byosnap generate-profile
263
+
264
+ This command generates a base BYOSnap profile. You will have to update the values within this file
265
+ and then you can use it in commands like `publish` and `sync`. It is recommended that you save this
266
+ file at the root of your BYOSnap code and commit it to version control.
267
+
268
+ ```bash
269
+ # Help for the byosnap command
270
+ snapctl byosnap generate-profile --help
271
+
272
+ # Generate your BYOSnap profile
273
+ # $output_path = Directory where you want the BYOSnap profile to be saved.
274
+ # $profile_filename = Name of the BYOSnap profile you want to give. Only .json, .yaml, .yml extensions
275
+ # are allowed. If you do not pass `--profile-filename` then Snapser choses
276
+ # `snapser-byosnap-profile.json` as the filename.
277
+ snapctl byosnap generate-profile --out-path $output_path --profile-filename $profile_filename
278
+ snapctl byosnap generate-profile --out-path /Users/DevName/Development/SnapserEngine/jinks_flask --profile-filename=my-byosnap-profile.json
279
+ snapctl byosnap generate-profile --out-path /Users/DevName/Development/SnapserEngine/jinks_flask --profile-filename=my-byosnap-profile.yaml
280
+ ```
281
+
282
+ ### 3. byosnap validate-profile
283
+
284
+ This command validates your BYOSnap profile.
285
+
286
+ ```bash
287
+ # Help for the byosnap command
288
+ snapctl byosnap validate-profile --help
289
+
290
+ # Validate your BYOSnap profile
291
+ # $path = Directory Path to where your BYOSnap Profile is located. No need to add the file name.
292
+ # $resources_path = Optionally, you can place your BYOSnap profile at your resources path
293
+ # $profile_filename = Optional parameter. Name of your BYOSnap profile.
294
+ # If you do not pass `--profile-filename` then
295
+ # Snapser choses the default `snapser-byosnap-profile.json` as the filename to validate
296
+ snapctl byosnap validate-profile --path $path
297
+ snapctl byosnap validate-profile --resources-path $resources_path --profile-filename $profile_filename
298
+ snapctl byosnap validate-profile --path /Users/DevName/Development/SnapserEngine/jinks_flask
299
+ snapctl byosnap validate-profile --path /Users/DevName/Development/SnapserEngine/jinks_flask --profile-filename my-byosnap-profile.yaml
300
+ ```
301
+
302
+ #### 4. byosnap publish
200
303
 
201
304
  This command allows you to create and publish your BYOSnap. Running this command will first create a BYOSnap namespace on Snapser if not present. Then it will build and publish your code to your own
202
305
  private ECR repo on Snapser. Finally it will assign a version to your BYOSnap so that you
@@ -209,22 +312,26 @@ your BYOSnap like, name, description, etc and hardware requirements like CPU, Me
209
312
  recommend you store this file at the root of your BYOSnap and also add it to version control.
210
313
  You can generate it using `snapctl generate profile --category byosnap --out-path $outputPath`.
211
314
 
212
- ```
315
+ ```bash
213
316
  # Help for the byosnap command
214
317
  snapctl byosnap publish --help
215
318
 
216
319
  # Create and publish your BYOSnap
217
- # $byosnap_sid = Snap ID for your snap
320
+ # $byosnap_id = Snap ID for your snap
218
321
  # $version = Semantic version for your snap Eg: v0.0.1
219
322
  # $code_root_path = Local code path where your Dockerfile is present
220
323
  # $resources_path = Optional path to the resources directory in your Snap. This ensures, you are not forced to put the Dockerfile, snapser-byosnap-profile.json, swagger.json and README.md at the root directory of your Snap.
324
+ # $profile_filename = Optional parameter. Name of your BYOSnap profile.
325
+ # If you do not pass `--profile-filename` then
326
+ # Snapser choses the default `snapser-byosnap-profile.json` as the filename to validate
221
327
  # $skip-build = true/false. Default is false. Pass this flag as true to skip the build and head straight to tag and push. Build step needs to run and tag using the --tag you pass to the publish-image command for this to work. Make sure the tag matches the version number you are passing.
222
328
  # Example:
223
- snapctl byosnap publish byosnap-jinks-flask --version "v0.0.1" --path /Users/DevName/Development/SnapserEngine/jinks_flask
224
- snapctl byosnap publish $byosnap_sid --version $version --path $code_root_path
329
+ snapctl byosnap publish --byosnap-id byosnap-jinks-flask --version "v0.0.1" --path /Users/DevName/Development/SnapserEngine/jinks_flask --profile-filename $profile_filename
330
+ snapctl byosnap publish --byosnap-id $byosnap_id --version $version --path $code_root_path
331
+ byosnap publish --byosnap-id byosnap-python --version "v1.0.0" --path /Users/AJ/Development/byosnap-python --profile-filename my-byosnap-profile.yaml
225
332
  ```
226
333
 
227
- #### 3. byosnap sync
334
+ #### 5. byosnap sync
228
335
 
229
336
  This command is for development purposes. It allows developers to rapidly build, update and push their BYOSnap to a dev Snapend. Simply, make changes to your code locally, and then run this command to deploy your BYOSnap straight to your development Snapend.
230
337
 
@@ -233,12 +340,12 @@ This command is for development purposes. It allows developers to rapidly build,
233
340
 
234
341
  **IMPORTANT**: This command will only work for Dev Snapends. Additionally if the version you are using in this command happens to be used by a staging or a production snapend then `sync` will not work. We do this to ensure that your staging and production BYOSnap images do not get impacted.
235
342
 
236
- ```
343
+ ```bash
237
344
  # Help for the byosnap command
238
345
  snapctl byosnap sync --help
239
346
 
240
347
  # Deploy local code straight to your Snapend
241
- # $byosnap_sid = Snap ID for your snap
348
+ # $byosnap_id = Snap ID for your snap
242
349
  # $code_root_path = Local code path where your Dockerfile is present
243
350
  # $resources_path = Optional path to the resources directory in your Snap. This ensures, you are not forced to put the Dockerfile, swagger.json and README.md in the root directory of your Snap.
244
351
  # $skip-build = true/false. Default is false. Pass this flag as true to skip the build and head straight to tag and push. Build step needs to run and tagged using the --tag you pass to the publish-image command for this to work.
@@ -246,84 +353,84 @@ snapctl byosnap sync --help
246
353
  # $version =
247
354
  # $snapend_id = Dev Snapend Id
248
355
  # Example:
249
- snapctl byosnap sync byosnap-jinks-flask --path /Users/DevName/Development/SnapserEngine/jinks_flask --version "v0.0.11" --snapend-id "jxmmfryo"
250
- snapctl byosnap sync $byosnap_sid --path $code_root_path --version $version --snapend-id $snapend_id
356
+ snapctl byosnap sync --byosnap-id byosnap-jinks-flask --path /Users/DevName/Development/SnapserEngine/jinks_flask --version "v0.0.11" --snapend-id "jxmmfryo"
357
+ snapctl byosnap sync --byosnap-id $byosnap_id --path $code_root_path --version $version --snapend-id $snapend_id
251
358
  ```
252
359
 
253
- #### 4. byosnap create
360
+ #### 6. byosnap create
254
361
 
255
362
  Create a custom snap. Note that you will have to build, push and publish your snap image, for it to be useable
256
363
  in a Snapend.
257
364
 
258
- ```
365
+ ```bash
259
366
  # Help for the byosnap command
260
367
  snapctl byosnap create --help
261
368
 
262
369
  # Create a new snap
263
- # $byosnap_sid = Snap ID for your snap. Start start with `byosnap-`
370
+ # $byosnap_id = Snap ID for your snap. Start start with `byosnap-`
264
371
  # $name = User friendly name for your BYOSnap
265
372
  # $desc = User friendly description
266
373
  # $platform = One of linux/arm64, linux/amd64
267
374
  # $language = One of go, python, ruby, c#, c++, rust, java, node
268
375
 
269
376
  # Example:
270
- # snapctl byosnap create byosnap-jinks-flask --name "Jinks Flask Microservice" --desc "Custom Microservice" --platform "linux/arm64" --language "go"
271
- snapctl byosnap create $byosnap_sid --name "$name" --desc "$desc" --platform "$platform" --language "$language"
377
+ # snapctl byosnap create --byosnap-id byosnap-jinks-flask --name "Jinks Flask Microservice" --desc "Custom Microservice" --platform "linux/arm64" --language "go"
378
+ snapctl byosnap create --byosnap-id $byosnap_id --name "$name" --desc "$desc" --platform "$platform" --language "$language"
272
379
  ```
273
380
 
274
- #### 5. byosnap build
381
+ #### 7. byosnap build
275
382
 
276
383
  Build your snap image
277
384
 
278
- ```
385
+ ```bash
279
386
  # Help for the byosnap command
280
387
  snapctl byosnap build --help
281
388
 
282
389
  # Publish a new image
283
- # $byosnap_sid = Snap ID for your snap
390
+ # $byosnap_id = Snap ID for your snap
284
391
  # $image_tag = An image tag for your snap
285
392
  # $code_root_path = Local code path where your Dockerfile is present
286
393
  # $resources_path = Optional path to the resources directory in your Snap. This ensures, you are not forced to put the Dockerfile, swagger.json and README.md in the root directory of your Snap.
287
394
  # Example:
288
- # snapctl byosnap build byosnap-jinks-flask --tag my-first-image --path /Users/DevName/Development/SnapserEngine/jinks_flask
289
- snapctl byosnap build $byosnap_sid --tag $image_tag --path $code_root_path
290
- snapctl byosnap build $byosnap_sid --tag $image_tag --path $code_root_path --resources-path $resources_path
395
+ # snapctl byosnap build --byosnap-id byosnap-jinks-flask --tag my-first-image --path /Users/DevName/Development/SnapserEngine/jinks_flask
396
+ snapctl byosnap build --byosnap-id $byosnap_id --tag $image_tag --path $code_root_path
397
+ snapctl byosnap build --byosnap-id $byosnap_id --tag $image_tag --path $code_root_path --resources-path $resources_path
291
398
  ```
292
399
 
293
- #### 6. byosnap push
400
+ #### 8. byosnap push
294
401
 
295
402
  Push your snap image to Snapser
296
403
 
297
- ```
404
+ ```bash
298
405
  # Help for the byosnap command
299
406
  snapctl byosnap push --help
300
407
 
301
408
  # Publish a new image
302
- # $byosnap_sid = Snap ID for your snap
409
+ # $byosnap_id = Snap ID for your snap
303
410
  # $image_tag = An image tag for your snap
304
411
  # Example:
305
- # snapctl byosnap push byosnap-jinks-flask --tag my-first-image
306
- snapctl byosnap push $byosnap_sid --tag $image_tag
412
+ # snapctl byosnap push --byosnap-id byosnap-jinks-flask --tag my-first-image
413
+ snapctl byosnap push --byosnap-id $byosnap_id --tag $image_tag
307
414
  ```
308
415
 
309
- #### 7. byosnap upload-docs
416
+ #### 9. byosnap upload-docs
310
417
 
311
418
  Upload swagger.json and README.md for you Snap
312
419
 
313
- ```
420
+ ```bash
314
421
  # Help for the byosnap command
315
422
  snapctl byosnap upload-docs --help
316
423
 
317
424
  # Publish a new image
318
- # $byosnap_sid = Snap ID for your snap
425
+ # $byosnap_id = Snap ID for your snap
319
426
  # $image_tag = An image tag for your snap
320
427
  # $resources_path = Path to your swagger.json and README.md files
321
428
  # Example:
322
- # snapctl byosnap upload-docs byosnap-jinks-flask --tag my-first-image --resources-path /Users/DevName/Development/SnapserEngine/jinks_flask
323
- snapctl byosnap upload-docs $byosnap_sid --tag $image_tag --resources-path $resources_path
429
+ # snapctl byosnap upload-docs --byosnap-id byosnap-jinks-flask --tag my-first-image --resources-path /Users/DevName/Development/SnapserEngine/jinks_flask
430
+ snapctl byosnap upload-docs --byosnap-id $byosnap_id --tag $image_tag --resources-path $resources_path
324
431
  ```
325
432
 
326
- #### 8. byosnap publish-image
433
+ #### 10. byosnap publish-image
327
434
 
328
435
  Publish a custom snap code image. This command executes, `build`, `push` and `upload-docs` one
329
436
  after the other.
@@ -332,24 +439,24 @@ after the other.
332
439
  Commands in docker file may be hardware architecture specific. Snapser throws a warning if it detects
333
440
  a mismatch.
334
441
 
335
- ```
442
+ ```bash
336
443
  # Help for the byosnap command
337
444
  snapctl byosnap publish-image --help
338
445
 
339
446
  # Publish a new image
340
- # $byosnap_sid = Snap ID for your snap
447
+ # $byosnap_id = Snap ID for your snap
341
448
  # $image_tag = An image tag for your snap
342
449
  # $code_root_path = Local code path where your Dockerfile is present
343
450
  # $resources_path = Optional path to the resources directory in your Snap. This ensures, you are not forced to put the Dockerfile, swagger.json and README.md in the root directory of your Snap.
344
451
  # $skip-build = true/false. Default is false. Pass this flag as true to skip the build and head straight to tag and push. Build step needs to run and tagged using the --tag you pass to the publish-image command for this to work.
345
452
  # Example:
346
- # snapctl byosnap publish-image byosnap-jinks-flask --tag my-first-image --path /Users/DevName/Development/SnapserEngine/jinks_flask
347
- snapctl byosnap publish-image $byosnap_sid --tag $image_tag --path $code_root_path
348
- snapctl byosnap publish-image $byosnap_sid --tag $image_tag --path $code_root_path --resources-path $resources_path
349
- snapctl byosnap publish-image $byosnap_sid --tag $image_tag --skip-build
453
+ # snapctl byosnap publish-image --byosnap-id byosnap-jinks-flask --tag my-first-image --path /Users/DevName/Development/SnapserEngine/jinks_flask
454
+ snapctl byosnap publish-image --byosnap-id $byosnap_id --tag $image_tag --path $code_root_path
455
+ snapctl byosnap publish-image --byosnap-id $byosnap_id --tag $image_tag --path $code_root_path --resources-path $resources_path
456
+ snapctl byosnap publish-image --byosnap-id $byosnap_id --tag $image_tag --skip-build
350
457
  ```
351
458
 
352
- #### 9. byosnap publish-version
459
+ #### 11. byosnap publish-version
353
460
 
354
461
  Publish a new version for your Snap. Only after your Snap version is published, you will be able
355
462
  to use your snap in your Snapend. This command should be run after `push` or `publish-image` commands.
@@ -357,18 +464,18 @@ to use your snap in your Snapend. This command should be run after `push` or `pu
357
464
  IMPORTANT: You need to have $byosnapProfile to run this command. BYOSnap profile is a JSON configuration
358
465
  of your BYOSnap for the development, staging and production environments. You can generate a base version of this file using the `snapctl generate profile --category byosnap --out-path <output_path>` command.
359
466
 
360
- ```
467
+ ```bash
361
468
  # Help for the byosnap command
362
469
  snapctl byosnap publish-version --help
363
470
 
364
471
  # Publish a new image
365
- # $byosnap_sid = Snap ID for your snap
472
+ # $byosnap_id = Snap ID for your snap
366
473
  # $image_tag = An image tag for your snap
367
474
  # $version = Semantic version for your snap Eg: v0.0.1
368
- # $byosnapProfilePath = Path to the snapser-byosnap-profile.json BYOSnap profile to configure dev, stage and prod settings for this snap. You can generate a base version of this file using the `snapctl generate profile --category byosnap --out-path <output_path>` command
475
+ # $byosnap_profile_path = Path to the snapser-byosnap-profile.json BYOSnap profile to configure dev, stage and prod settings for this snap. You can generate a base version of this file using the `snapctl generate profile --category byosnap --out-path <output_path>` command
369
476
  # Example:
370
- # snapctl byosnap publish-version byosnap-jinks-flask --tag my-first-image --version v0.0.1 --path /Users/DevName/Development/SnapserEngine/jinks_flask
371
- snapctl byosnap publish-version $byosnap_sid --tag $image_tag --version $version --path $byosnapProfilePath
477
+ # snapctl byosnap publish-version --byosnap-id byosnap-jinks-flask --tag my-first-image --version v0.0.1 --path /Users/DevName/Development/SnapserEngine/jinks_flask
478
+ snapctl byosnap publish-version --byosnap-id $byosnap_id --tag $image_tag --version $version --path $byosnap_profile_path
372
479
  ```
373
480
 
374
481
  ### BYO Game Server - Bring your own Game Server
@@ -378,7 +485,7 @@ Snapctl commands for your custom game server
378
485
 
379
486
  See all the supported commands
380
487
 
381
- ```
488
+ ```bash
382
489
  # Help for the byogs command
383
490
  snapctl byogs --help
384
491
  ```
@@ -387,7 +494,7 @@ snapctl byogs --help
387
494
 
388
495
  Build your custom game server image.
389
496
 
390
- ```
497
+ ```bash
391
498
  # Help for the byogs command
392
499
  snapctl byogs build --help
393
500
 
@@ -403,7 +510,7 @@ snapctl byogs build --tag $image_tag --path $code_root_path
403
510
 
404
511
  Push your custom game server image.
405
512
 
406
- ```
513
+ ```bash
407
514
  # Help for the byogs command
408
515
  snapctl byogs push --help
409
516
 
@@ -423,7 +530,7 @@ then publishing the byogs. Now all you have to do is publish your image and crea
423
530
  Commands in docker file may be hardware architecture specific. Snapser throws a warning if it detects
424
531
  a mismatch.
425
532
 
426
- ```
533
+ ```bash
427
534
  # Help for the byogs command
428
535
  snapctl byogs publish --help
429
536
 
@@ -443,7 +550,7 @@ snapctl byogs publish --tag $image_tag --skip-build
443
550
 
444
551
  This command allows developers to rapidly build, update and push their BYOGs out to a Snapend fleet. Simply, make changes to your code locally, and then run this command to deploy your BYOGs straight to your Snapend fleet.
445
552
 
446
- ```
553
+ ```bash
447
554
  # Help for the byogs command
448
555
  snapctl byogs sync --help
449
556
 
@@ -466,45 +573,37 @@ Snapctl commands for your game
466
573
 
467
574
  See all the supported commands
468
575
 
469
- ```
576
+ ```bash
470
577
  # Help for the byogs command
471
578
  snapctl game --help
472
579
  ```
473
580
 
474
581
  #### 2. Create a game
475
582
  Create a game
476
- ```
477
- snapctl game create --name $gameName
583
+ ```bash
584
+ snapctl game create --name $game_name
478
585
  ```
479
586
 
480
587
  #### 3. Enumerate games
481
588
  List all the games
482
- ```
589
+ ```bash
483
590
  snapctl game enumerate
484
591
  ```
485
592
 
486
593
  ### Generate
487
- Generator tool to help generate base files to be used in other commands
594
+ Generator tool to help generate credentials
488
595
 
489
596
  #### 1. generate help
490
597
  See all the supported commands
491
- ```
598
+ ```bash
492
599
  # Help for the generate command
493
600
  snapctl generate --help
494
601
  ```
495
602
 
496
- #### 2. Generate BYOSnap Profile
497
- Generate the base file for BYOSnap profile to be used in the `snapctl byosnap publish-version` command
498
-
499
- ```
500
- snapctl generate profile --category "byosnap" --out-path $output_path
501
-
502
- ```
503
-
504
- #### 3. Generate ECR Credentials
603
+ #### 2. Generate ECR Credentials
505
604
  Generate the ECR credentials. Game studios can use these credentials to self publish their images to Snapser.
506
605
 
507
- ```
606
+ ```bash
508
607
  snapctl generate credentials --category "ecr" --out-path $output_path
509
608
 
510
609
  ```
@@ -516,7 +615,7 @@ Snapctl commands for your snapend
516
615
 
517
616
  See all the supported commands
518
617
 
519
- ```
618
+ ```bash
520
619
  # Help for the snapend command
521
620
  snapctl snapend --help
522
621
  ```
@@ -525,26 +624,27 @@ snapctl snapend --help
525
624
 
526
625
  Download Manifest, SDKs and Protos for your Snapend
527
626
 
528
- ```
627
+ ```bash
529
628
  # Help for the download command
530
629
  snapctl snapend download --help
531
630
 
532
631
  # Download your Snapend SDK and Protos
533
632
  # $snapend_id = Cluster Id
534
- # $category = snapend-manifest, client-sdk, server-sdk, protos
535
- # $type = One of the supported types:
633
+ # $category = snapend-manifest, sdk, protos
634
+ # $format = One of the supported formats:
536
635
  # snapend-manifest(yaml, json)
537
- # client-sdk(unity, unreal, roblox, godot, cocos, ios-objc, ios-swift, android-java, android-kotlin, web-ts, web-js),
538
- # server-sdk(csharp, cpp, lua, ts, go, python, kotlin, java, c, node, js, perl, php, closure, ruby, rust),
636
+ # sdk(unity, unreal, roblox, godot, cocos, ios-objc, ios-swift, android-java, android-kotlin, web-ts, web-js),
637
+ # sdk(csharp, cpp, lua, ts, go, python, kotlin, java, c, node, js, perl, php, closure, ruby, rust),
539
638
  # protos(go, csharp, cpp, raw)
540
- # $protos-category = messages or services (only with --type protos)
541
- # $auth-type = user or app (only with --type server-sdk)
639
+ # $type = One of the supported types:
640
+ # For --category=sdk --type(user, server, internal, app)
641
+ # For --category=protos --type(messages, services)
542
642
  # Example:
543
- # snapctl snapend download --snapend-id gx5x6bc0 --category snapend-manifest --type yaml --out-path .
544
- # snapctl snapend download --snapend-id gx5x6bc0 --category sdk --type unity --sdk-access-type external --sdk-auth-type user --out-path .
545
- # snapctl snapend download --snapend-id gx5x6bc0 --category sdk --type cpp --sdk-access-type internal --out-path .
546
- # snapctl snapend download --snapend-id gx5x6bc0 --category protos --type raw --protos-category messages --out-path .
547
- snapctl snapend download $snapend_id --category $category --type $type --sdk-access-type $sdk_access_type --sdk-auth-type $sdk_auth_type --out-path $out_path
643
+ # snapctl snapend download --snapend-id gx5x6bc0 --category snapend-manifest --format yaml --out-path .
644
+ # snapctl snapend download --snapend-id gx5x6bc0 --category sdk --format unity --type user --out-path .
645
+ # snapctl snapend download --snapend-id gx5x6bc0 --category sdk --format cpp --type internal --out-path .
646
+ # snapctl snapend download --snapend-id gx5x6bc0 --category protos --format raw --type messages --out-path .
647
+ snapctl snapend download --snapend-id $snapend_id --category $category --format $format --type $type --out-path $out_path
548
648
 
549
649
  ```
550
650
 
@@ -552,19 +652,19 @@ snapctl snapend download $snapend_id --category $category --type $type --sdk-acc
552
652
 
553
653
  Clone a Snapend from an existing manifest. Passing the blocking flag ensures your CLI command waits till the new Snapend is up.
554
654
 
555
- ```
655
+ ```bash
556
656
  # Help for the clone command
557
657
  snapctl snapend clone --help
558
658
 
559
659
  # Clone your Snapend
560
- # $gameId = Game Id
561
- # $snapendName = Name of your new Snapend
660
+ # $game_id = Game Id
661
+ # $snapend_name = Name of your new Snapend
562
662
  # $env = One of development, staging
563
- # $pathToManifest = Path to the manifest file; should include the file name
663
+ # $path_to_manifest = Path to the manifest file; should include the file name
564
664
  # Example:
565
- # snapctl snapend clone --game-id 2581d802-aca-496c-8a76-1953ad0db165 --name new-snapend --env development --manifest-path "C:\Users\name\Downloads\snapser-ox1bcyim-manifest.json" --blocking
566
- snapctl snapend clone --game-id $gameId --name $snapendName --env $env --manifest-path "$pathToManifest"
567
- snapctl snapend clone --game-id $gameId --name $snapendName --env $env --manifest-path "$pathToManifest" --blocking
665
+ # 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
666
+ snapctl snapend clone --game-id $game_id --name $snapend_name --env $env --manifest-path-filename "$path_to_manifest"
667
+ snapctl snapend clone --game-id $game_id --name $snapend_name --env $env --manifest-path-filename "$path_to_manifest" --blocking
568
668
  ```
569
669
 
570
670
  #### 4. Apply Snapend Changes
@@ -572,23 +672,23 @@ snapctl snapend clone --game-id $gameId --name $snapendName --env $env --manifes
572
672
  Apply changes to your Snapend from a manifest. You should have the latest manifest before applying changes. This is to prevent
573
673
  a user stomping over someone elses changes. Passing the blocking flag ensures your CLI command waits till the update is complete.
574
674
 
575
- ```
675
+ ```bash
576
676
  # Help for the apply command
577
677
  snapctl snapend apply --help
578
678
 
579
679
  # Apply changes to a snapend via manifest
580
- # $pathToManifest = Path to the manifest file; should include the file name
680
+ # $path_to_manifest = Path to the manifest file; should include the file name
581
681
  # Example:
582
- # snapctl snapend apply --manifest-path "C:\Users\name\Downloads\snapser-ox1bcyim-manifest.json" --blocking
583
- snapctl snapend apply --manifest-path "$pathToManifest"
584
- snapctl snapend apply --manifest-path "$pathToManifest" --blocking
682
+ # snapctl snapend apply --manifest-path-filename "C:\Users\name\Downloads\snapser-ox1bcyim-manifest.json" --blocking
683
+ snapctl snapend apply --manifest-path-filename "$path_to_manifest"
684
+ snapctl snapend apply --manifest-path-filename "$path_to_manifest" --blocking
585
685
  ```
586
686
 
587
687
  #### 5. Update Snapend BYOSnap or BYOGs versions
588
688
 
589
689
  Update your BYOSnap or BYOGs versions for the Snapend
590
690
 
591
- ```
691
+ ```bash
592
692
  # Help for the byogs command
593
693
  snapctl snapend update --help
594
694
 
@@ -608,7 +708,7 @@ snapctl snapend update --snapend-id $snapend_id --byosnaps $byosnaps --byogs $by
608
708
 
609
709
  Get the Snapend state
610
710
 
611
- ```
711
+ ```bash
612
712
  # Help for the byogs command
613
713
  snapctl snapend state --help
614
714
 
@@ -671,6 +771,8 @@ snapctl snapend state $snapend_id
671
771
  | 46 | BYOSNAP update version service in use |
672
772
  | 47 | BYOSNAP update version tag error |
673
773
  | 48 | BYOSNAP update version invalid version error |
774
+ | 49 | BYOSNAP publish error |
775
+ | 86 | BYOSNAP generate-profile |
674
776
 
675
777
 
676
778
  ### Game Errors
@@ -709,6 +811,5 @@ snapctl snapend state $snapend_id
709
811
  | Error Code | Description |
710
812
  |------------|----------------------------------------------------------|
711
813
  | 80 | Generic generate error |
712
- | 81 | Generate profile error |
713
- | 82 | Generate credentials error |
814
+ | 81 | Generate credentials error |
714
815
 
@@ -0,0 +1,27 @@
1
+ snapctl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ snapctl/__main__.py,sha256=43jKoTk8b85hk_MT6499N3ruHdEfM8WBImd_-3VzjI8,116
3
+ snapctl/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
+ snapctl/commands/byogs.py,sha256=x-5QKvDWLj5hal8nH1mqd5r3G3EGwDB0BTP_SmFj-LQ,19025
5
+ snapctl/commands/byosnap.py,sha256=xqlztM-C1Xo1l1asYCqTMr43bMFEFBkQ6Oct7yydMlo,72880
6
+ snapctl/commands/game.py,sha256=nCXtEXAJkvOw26c_OBGr7Pz4hwu-5FXHyBR2kkXhLCM,5247
7
+ snapctl/commands/generate.py,sha256=9-NlZVQllBT2LZT_t9S3ztwtHzTbM-C8_x0f6z70U3g,5606
8
+ snapctl/commands/release_notes.py,sha256=K1OdX94pL-pKL2Depbs-AkVcPpKn_CX2cOsZiRZP5kc,2134
9
+ snapctl/commands/snapend.py,sha256=pUpdJ5H-NSg-wB-NnMUXNvRL10ac8289-ZxPhCYMXEc,35570
10
+ snapctl/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
+ snapctl/config/constants.py,sha256=r9NYFzPthNOc76uf70i6S8sehnI_tstQDftB_vxRDAE,3464
12
+ snapctl/config/endpoints.py,sha256=9kllA79xn9G_aBLp1rohURZi93pwYzTEWZ8ObtZ6crw,338
13
+ snapctl/config/hashes.py,sha256=MOn1R5zUQrVbgXT_SmGcRB_3LsQjxRpEiJtLoiIFBI8,4388
14
+ snapctl/data/profiles/snapser-byosnap-profile.json,sha256=c7oIzMJewVQaoLaXCBPXlH-k5cL9DCz6q4IixsWWD9c,2404
15
+ snapctl/data/profiles/snapser-byosnap-profile.yaml,sha256=vK5JqHa1f1_jlcW0m7qg-sKN9njE8PURJHzaRdvfEOY,3600
16
+ snapctl/data/releases/beta-0.46.0.mdx,sha256=_MJA7TnnJjAnNm_EOvoBiz7FjHwl4c49sYtZ9r4KZQE,2386
17
+ snapctl/main.py,sha256=3-0dyEk5pK9t9P4fahlrh5R2gBUlQEFM4CUhhC3SOl4,22237
18
+ snapctl/types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
+ snapctl/types/definitions.py,sha256=EQzLeiXkJ8ISRlCqHMviNVsWWpmhWjpKaOBLdlvOTmY,644
20
+ snapctl/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
21
+ snapctl/utils/echo.py,sha256=V0qgjqqGXRiueMkq31enmNmdqciC8S90qGRcK8UupXA,1090
22
+ snapctl/utils/helper.py,sha256=8HrLqX9RINJdadR7YI8epOXIfXOBDusXqvoR0kq6zok,5419
23
+ snapctl-0.46.0.dist-info/LICENSE,sha256=6AcXm54KFSpmUI1ji9NIBd4Xl-DtjTqiyjBzfVb_CEk,2804
24
+ snapctl-0.46.0.dist-info/METADATA,sha256=cNc5QjjGcC9hjIn8BysrPKZHD51FgL3A5ucwsP2Gov4,34343
25
+ snapctl-0.46.0.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
26
+ snapctl-0.46.0.dist-info/entry_points.txt,sha256=tkKW9MzmFdRs6Bgkv29G78i9WEBK4WIOWunPfe3t2Wg,44
27
+ snapctl-0.46.0.dist-info/RECORD,,
@@ -1,23 +0,0 @@
1
- snapctl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- snapctl/__main__.py,sha256=43jKoTk8b85hk_MT6499N3ruHdEfM8WBImd_-3VzjI8,116
3
- snapctl/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
- snapctl/commands/byogs.py,sha256=jqX20rjgLg75E65Bx26TJpTDRQl2Eg6epFIZPXaJCbE,18989
5
- snapctl/commands/byosnap.py,sha256=VgZ34gnwt8j1Li2uVXym3XNT1qI9YiS5xkVIBnx9KD4,53706
6
- snapctl/commands/game.py,sha256=nCXtEXAJkvOw26c_OBGr7Pz4hwu-5FXHyBR2kkXhLCM,5247
7
- snapctl/commands/generate.py,sha256=isiTl3SE1G7wqEWjdYPKDtlBR-HE2-iNdZK_pKgiKvY,8398
8
- snapctl/commands/snapend.py,sha256=Zq9lNp1NO5fHzlv2S4TrzBZUIxssOu4_ZEQFMO2Tfbc,34677
9
- snapctl/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
- snapctl/config/constants.py,sha256=4kChgdr97xeUtLE80GPM1cP8ClZxn_EKMsZRgNq3pXA,3309
11
- snapctl/config/endpoints.py,sha256=9kllA79xn9G_aBLp1rohURZi93pwYzTEWZ8ObtZ6crw,338
12
- snapctl/config/hashes.py,sha256=sLk221XI8-fAfiIZ_sKmddcebL9yTCDIlhxQZNj4NA8,5729
13
- snapctl/main.py,sha256=DwndBr5-d18epV1PMzCINAargBMOblbXBTHsFsVZHXU,21463
14
- snapctl/types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
- snapctl/types/definitions.py,sha256=EQzLeiXkJ8ISRlCqHMviNVsWWpmhWjpKaOBLdlvOTmY,644
16
- snapctl/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
- snapctl/utils/echo.py,sha256=V0qgjqqGXRiueMkq31enmNmdqciC8S90qGRcK8UupXA,1090
18
- snapctl/utils/helper.py,sha256=8HrLqX9RINJdadR7YI8epOXIfXOBDusXqvoR0kq6zok,5419
19
- snapctl-0.44.1.dist-info/LICENSE,sha256=6AcXm54KFSpmUI1ji9NIBd4Xl-DtjTqiyjBzfVb_CEk,2804
20
- snapctl-0.44.1.dist-info/METADATA,sha256=QcNmOclG7_621_jHPOhaOZlx6H1d0JDzvy2ABEO1EW8,28866
21
- snapctl-0.44.1.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
22
- snapctl-0.44.1.dist-info/entry_points.txt,sha256=tkKW9MzmFdRs6Bgkv29G78i9WEBK4WIOWunPfe3t2Wg,44
23
- snapctl-0.44.1.dist-info/RECORD,,