cs-image-system-aws-runtime-plugin 0.1.5__tar.gz → 0.1.6__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.
Files changed (15) hide show
  1. {cs_image_system_aws_runtime_plugin-0.1.5 → cs_image_system_aws_runtime_plugin-0.1.6}/.gitignore +2 -0
  2. {cs_image_system_aws_runtime_plugin-0.1.5 → cs_image_system_aws_runtime_plugin-0.1.6}/PKG-INFO +4 -4
  3. {cs_image_system_aws_runtime_plugin-0.1.5 → cs_image_system_aws_runtime_plugin-0.1.6}/pyproject.toml +4 -4
  4. {cs_image_system_aws_runtime_plugin-0.1.5 → cs_image_system_aws_runtime_plugin-0.1.6}/src/cs_image_system/aws_runtime/aws_runtime_builders.py +13 -0
  5. {cs_image_system_aws_runtime_plugin-0.1.5 → cs_image_system_aws_runtime_plugin-0.1.6}/LICENSE +0 -0
  6. {cs_image_system_aws_runtime_plugin-0.1.5 → cs_image_system_aws_runtime_plugin-0.1.6}/README.md +0 -0
  7. {cs_image_system_aws_runtime_plugin-0.1.5 → cs_image_system_aws_runtime_plugin-0.1.6}/src/cs_image_system/aws_runtime/__init__.py +0 -0
  8. {cs_image_system_aws_runtime_plugin-0.1.5 → cs_image_system_aws_runtime_plugin-0.1.6}/src/cs_image_system/aws_runtime/aws_packer_source.py +0 -0
  9. {cs_image_system_aws_runtime_plugin-0.1.5 → cs_image_system_aws_runtime_plugin-0.1.6}/src/cs_image_system/aws_runtime/aws_provider_specific_image.py +0 -0
  10. {cs_image_system_aws_runtime_plugin-0.1.5 → cs_image_system_aws_runtime_plugin-0.1.6}/src/cs_image_system/aws_runtime/aws_runtime_models.py +0 -0
  11. {cs_image_system_aws_runtime_plugin-0.1.5 → cs_image_system_aws_runtime_plugin-0.1.6}/src/cs_image_system/aws_runtime/aws_utils.py +0 -0
  12. {cs_image_system_aws_runtime_plugin-0.1.5 → cs_image_system_aws_runtime_plugin-0.1.6}/src/cs_image_system/aws_runtime/bootstrap.py +0 -0
  13. {cs_image_system_aws_runtime_plugin-0.1.5 → cs_image_system_aws_runtime_plugin-0.1.6}/src/cs_image_system/aws_runtime/main.py +0 -0
  14. {cs_image_system_aws_runtime_plugin-0.1.5 → cs_image_system_aws_runtime_plugin-0.1.6}/src/cs_image_system/py.typed +0 -0
  15. {cs_image_system_aws_runtime_plugin-0.1.5 → cs_image_system_aws_runtime_plugin-0.1.6}/tests/test_aws_provider_specific_image.py +0 -0
@@ -13,6 +13,8 @@ build/
13
13
  .venv/
14
14
  .DS_Store
15
15
  packages/**/*.code-workspace
16
+ # the IDE rewrites the root workspace file whenever folders are opened: it is the editor's, not the repository's (hygiene XXI)
17
+ /*.code-workspace
16
18
  trial
17
19
  tfmodules/tftest
18
20
  YAML_DUMP.yaml
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: cs-image-system-aws-runtime-plugin
3
- Version: 0.1.5
3
+ Version: 0.1.6
4
4
  Summary: The aws runtime type: Amazon EC2 as a place where images bake and instances run
5
5
  Project-URL: Repository, https://github.com/infrastructurebuilder/cs-image-system-3
6
6
  Project-URL: Documentation, https://github.com/infrastructurebuilder/cs-image-system-3/blob/develop/docs/OPERATIONS.md
@@ -11,9 +11,9 @@ License-File: LICENSE
11
11
  Requires-Python: >=3.13
12
12
  Requires-Dist: boto3>=1.43
13
13
  Requires-Dist: botocore>=1.43
14
- Requires-Dist: cs-image-system-base==0.1.5
15
- Requires-Dist: cs-image-system-contract==0.1.5
16
- Requires-Dist: cs-image-system-hashicorp-utils==0.1.5
14
+ Requires-Dist: cs-image-system-base==0.1.6
15
+ Requires-Dist: cs-image-system-contract==0.1.6
16
+ Requires-Dist: cs-image-system-hashicorp-utils==0.1.6
17
17
  Requires-Dist: pydantic>=2.13
18
18
  Requires-Dist: python-hcl2>=8.1
19
19
  Description-Content-Type: text/markdown
@@ -4,7 +4,7 @@
4
4
 
5
5
  [project]
6
6
  name = "cs-image-system-aws-runtime-plugin"
7
- version = "0.1.5"
7
+ version = "0.1.6"
8
8
  description = "The aws runtime type: Amazon EC2 as a place where images bake and instances run"
9
9
  readme = "README.md"
10
10
  authors = [{ name = "Mykel Alvis", email = "mykelalvis@infrastructurebuilder.org" }]
@@ -12,9 +12,9 @@ license = "Apache-2.0"
12
12
  license-files = ["LICENSE"]
13
13
  requires-python = ">=3.13"
14
14
  dependencies = [
15
- "cs-image-system-contract==0.1.5",
16
- "cs-image-system-base==0.1.5",
17
- "cs-image-system-hashicorp-utils==0.1.5",
15
+ "cs-image-system-contract==0.1.6",
16
+ "cs-image-system-base==0.1.6",
17
+ "cs-image-system-hashicorp-utils==0.1.6",
18
18
  "boto3>=1.43",
19
19
  "botocore>=1.43",
20
20
  "python-hcl2>=8.1",
@@ -503,6 +503,19 @@ class AwsCloudBuilder(CloudBuilderBase[AwsCloudBuilderModel], PluginArtifactProt
503
503
  Debian-derived image baked as 'ec2-user' never authenticates)."""
504
504
  return {"debian": "admin", "ubuntu": "ubuntu"}.get((family or "").lower(), "ec2-user")
505
505
 
506
+ def image_name_problem(self, name: str) -> str | None:
507
+ """Why ``name`` cannot be an AMI name (stage 105): 3 to 128
508
+ characters from letters, digits, parentheses, square brackets,
509
+ spaces, periods, slashes, dashes, single quotes, at-signs and
510
+ underscores (RegisterImage's constraint), or None."""
511
+ if not 3 <= len(name) <= 128:
512
+ return f"an AMI name is 3 to 128 characters; {name!r} is {len(name)}"
513
+ bad = sorted({c for c in name if not (c.isascii() and (c.isalnum() or c in "()[] ./-'@_"))})
514
+ if bad:
515
+ return (f"an AMI name takes letters, digits, ()[] space . / - ' @ and _; "
516
+ f"{name!r} carries {''.join(bad)!r}")
517
+ return None
518
+
506
519
  def session_instance_profile(self) -> str | None:
507
520
  if self.session_mechanism() != self.SSM:
508
521
  return None