diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-aws-cdk-cloud-assembly-schema.spec | 237 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 239 insertions, 0 deletions
@@ -0,0 +1 @@ +/aws-cdk.cloud-assembly-schema-2.73.0.tar.gz diff --git a/python-aws-cdk-cloud-assembly-schema.spec b/python-aws-cdk-cloud-assembly-schema.spec new file mode 100644 index 0000000..647dec1 --- /dev/null +++ b/python-aws-cdk-cloud-assembly-schema.spec @@ -0,0 +1,237 @@ +%global _empty_manifest_terminate_build 0 +Name: python-aws-cdk.cloud-assembly-schema +Version: 2.73.0 +Release: 1 +Summary: Cloud Assembly Schema +License: Apache-2.0 +URL: https://github.com/aws/aws-cdk +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/df/3e/467f2cbd01e53762edac4b718790cb6700c0608bd36a35b23b4de7e69466/aws-cdk.cloud-assembly-schema-2.73.0.tar.gz +BuildArch: noarch + +Requires: python3-jsii +Requires: python3-publication +Requires: python3-typeguard + +%description +# Cloud Assembly Schema + +This module is part of the [AWS Cloud Development Kit](https://github.com/aws/aws-cdk) project. + +## Cloud Assembly + +The *Cloud Assembly* is the output of the synthesis operation. It is produced as part of the +[`cdk synth`](https://github.com/aws/aws-cdk/tree/main/packages/aws-cdk#cdk-synthesize) +command, or the [`app.synth()`](https://github.com/aws/aws-cdk/blob/main/packages/@aws-cdk/core/lib/app.ts#L135) method invocation. + +Its essentially a set of files and directories, one of which is the `manifest.json` file. It defines the set of instructions that are +needed in order to deploy the assembly directory. + +> For example, when `cdk deploy` is executed, the CLI reads this file and performs its instructions: +> +> * Build container images. +> * Upload assets. +> * Deploy CloudFormation templates. + +Therefore, the assembly is how the CDK class library and CDK CLI (or any other consumer) communicate. To ensure compatibility +between the assembly and its consumers, we treat the manifest file as a well defined, versioned schema. + +## Schema + +This module contains the typescript structs that comprise the `manifest.json` file, as well as the +generated [*json-schema*](./schema/cloud-assembly.schema.json). + +## Versioning + +The schema version is specified in the [`cloud-assembly.version.json`](./schema/cloud-assembly.schema.json) file, under the `version` property. +It follows semantic versioning, but with a small twist. + +When we add instructions to the assembly, they are reflected in the manifest file and the *json-schema* accordingly. +Every such instruction, is crucial for ensuring the correct deployment behavior. This means that to properly deploy a cloud assembly, +consumers must be aware of every such instruction modification. + +For this reason, every change to the schema, even though it might not strictly break validation of the *json-schema* format, +is considered `major` version bump. + +## How to consume + +If you'd like to consume the [schema file](./schema/cloud-assembly.schema.json) in order to do validations on `manifest.json` files, +simply download it from this repo and run it against standard *json-schema* validators, such as [jsonschema](https://www.npmjs.com/package/jsonschema). + +Consumers must take into account the `major` version of the schema they are consuming. They should reject cloud assemblies +with a `major` version that is higher than what they expect. While schema validation might pass on such assemblies, the deployment integrity +cannot be guaranteed because some instructions will be ignored. + +> For example, if your consumer was built when the schema version was 2.0.0, you should reject deploying cloud assemblies with a +> manifest version of 3.0.0. + +## Contributing + +See [Contribution Guide](./CONTRIBUTING.md) + + +%package -n python3-aws-cdk.cloud-assembly-schema +Summary: Cloud Assembly Schema +Provides: python-aws-cdk.cloud-assembly-schema +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-aws-cdk.cloud-assembly-schema +# Cloud Assembly Schema + +This module is part of the [AWS Cloud Development Kit](https://github.com/aws/aws-cdk) project. + +## Cloud Assembly + +The *Cloud Assembly* is the output of the synthesis operation. It is produced as part of the +[`cdk synth`](https://github.com/aws/aws-cdk/tree/main/packages/aws-cdk#cdk-synthesize) +command, or the [`app.synth()`](https://github.com/aws/aws-cdk/blob/main/packages/@aws-cdk/core/lib/app.ts#L135) method invocation. + +Its essentially a set of files and directories, one of which is the `manifest.json` file. It defines the set of instructions that are +needed in order to deploy the assembly directory. + +> For example, when `cdk deploy` is executed, the CLI reads this file and performs its instructions: +> +> * Build container images. +> * Upload assets. +> * Deploy CloudFormation templates. + +Therefore, the assembly is how the CDK class library and CDK CLI (or any other consumer) communicate. To ensure compatibility +between the assembly and its consumers, we treat the manifest file as a well defined, versioned schema. + +## Schema + +This module contains the typescript structs that comprise the `manifest.json` file, as well as the +generated [*json-schema*](./schema/cloud-assembly.schema.json). + +## Versioning + +The schema version is specified in the [`cloud-assembly.version.json`](./schema/cloud-assembly.schema.json) file, under the `version` property. +It follows semantic versioning, but with a small twist. + +When we add instructions to the assembly, they are reflected in the manifest file and the *json-schema* accordingly. +Every such instruction, is crucial for ensuring the correct deployment behavior. This means that to properly deploy a cloud assembly, +consumers must be aware of every such instruction modification. + +For this reason, every change to the schema, even though it might not strictly break validation of the *json-schema* format, +is considered `major` version bump. + +## How to consume + +If you'd like to consume the [schema file](./schema/cloud-assembly.schema.json) in order to do validations on `manifest.json` files, +simply download it from this repo and run it against standard *json-schema* validators, such as [jsonschema](https://www.npmjs.com/package/jsonschema). + +Consumers must take into account the `major` version of the schema they are consuming. They should reject cloud assemblies +with a `major` version that is higher than what they expect. While schema validation might pass on such assemblies, the deployment integrity +cannot be guaranteed because some instructions will be ignored. + +> For example, if your consumer was built when the schema version was 2.0.0, you should reject deploying cloud assemblies with a +> manifest version of 3.0.0. + +## Contributing + +See [Contribution Guide](./CONTRIBUTING.md) + + +%package help +Summary: Development documents and examples for aws-cdk.cloud-assembly-schema +Provides: python3-aws-cdk.cloud-assembly-schema-doc +%description help +# Cloud Assembly Schema + +This module is part of the [AWS Cloud Development Kit](https://github.com/aws/aws-cdk) project. + +## Cloud Assembly + +The *Cloud Assembly* is the output of the synthesis operation. It is produced as part of the +[`cdk synth`](https://github.com/aws/aws-cdk/tree/main/packages/aws-cdk#cdk-synthesize) +command, or the [`app.synth()`](https://github.com/aws/aws-cdk/blob/main/packages/@aws-cdk/core/lib/app.ts#L135) method invocation. + +Its essentially a set of files and directories, one of which is the `manifest.json` file. It defines the set of instructions that are +needed in order to deploy the assembly directory. + +> For example, when `cdk deploy` is executed, the CLI reads this file and performs its instructions: +> +> * Build container images. +> * Upload assets. +> * Deploy CloudFormation templates. + +Therefore, the assembly is how the CDK class library and CDK CLI (or any other consumer) communicate. To ensure compatibility +between the assembly and its consumers, we treat the manifest file as a well defined, versioned schema. + +## Schema + +This module contains the typescript structs that comprise the `manifest.json` file, as well as the +generated [*json-schema*](./schema/cloud-assembly.schema.json). + +## Versioning + +The schema version is specified in the [`cloud-assembly.version.json`](./schema/cloud-assembly.schema.json) file, under the `version` property. +It follows semantic versioning, but with a small twist. + +When we add instructions to the assembly, they are reflected in the manifest file and the *json-schema* accordingly. +Every such instruction, is crucial for ensuring the correct deployment behavior. This means that to properly deploy a cloud assembly, +consumers must be aware of every such instruction modification. + +For this reason, every change to the schema, even though it might not strictly break validation of the *json-schema* format, +is considered `major` version bump. + +## How to consume + +If you'd like to consume the [schema file](./schema/cloud-assembly.schema.json) in order to do validations on `manifest.json` files, +simply download it from this repo and run it against standard *json-schema* validators, such as [jsonschema](https://www.npmjs.com/package/jsonschema). + +Consumers must take into account the `major` version of the schema they are consuming. They should reject cloud assemblies +with a `major` version that is higher than what they expect. While schema validation might pass on such assemblies, the deployment integrity +cannot be guaranteed because some instructions will be ignored. + +> For example, if your consumer was built when the schema version was 2.0.0, you should reject deploying cloud assemblies with a +> manifest version of 3.0.0. + +## Contributing + +See [Contribution Guide](./CONTRIBUTING.md) + + +%prep +%autosetup -n aws-cdk.cloud-assembly-schema-2.73.0 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-aws-cdk.cloud-assembly-schema -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon Apr 10 2023 Python_Bot <Python_Bot@openeuler.org> - 2.73.0-1 +- Package Spec generated @@ -0,0 +1 @@ +fb791d111ddd8f184e117e41c8b4654e aws-cdk.cloud-assembly-schema-2.73.0.tar.gz |