Skip to main content

generate and update Magic Module resource definitions

Project description

magic-module-scaffolder

generates or updates a Magic Module Resource definitions with the metadata of the Google Cloud APIs.

When generating the definitions, it will first use the ga interface, and supplement the definition with the beta interface, so that it can determine which fields are only available on the beta interface.

The resulting definitions are not perfect and may need some polishing. Most properties required by the magic module are derived from the free text description field. So, please do check the result.

Existing field definitions are not overwritten, so once inspected and correct you can rerun the merge operation as often as you want. Note that fields of a resource which do not exist in the API are removed.

example - update

To update an existing resource definition, type:

$ mm-scaffolder update --inplace --resource-file tests/mmv1/products/compute/BackendService.yaml

INFO: adding port as ga field to definition of BackendService
INFO: adding kind as ga field to definition of BackendService
INFO: adding network as ga field to definition of BackendService
INFO: adding maxStreamDuration as ga field to definition of BackendService
INFO: adding region as ga field to definition of BackendService
INFO: adding connectionTrackingPolicy as ga field to definition of BackendService
INFO: adding failoverPolicy as ga field to definition of BackendService
INFO: adding subsetting as ga field to definition of BackendService
INFO: adding selfLink as ga field to definition of BackendService
INFO: adding serviceBindings as ga field to definition of BackendService
INFO: adding failover as ga field to definition of BackendService.backends.
INFO: keeping beta field connectTimeout from definition of BackendService.circuitBreakers in ga 
INFO: adding requestCoalescing as ga field to definition of BackendService.cdnPolicy
INFO: adding signedUrlKeyNames as ga field to definition of BackendService.cdnPolicy
INFO: adding bypassCacheOnRequestHeaders as ga field to definition of BackendService.cdnPolicy
WARNING: mismatch in field name BackendService.localityLbPolicies: expected "localityLbPolicyConfig" defined ""
INFO: adding optionalFields as ga field to definition of BackendService.logConfig
INFO: adding optionalMode as ga field to definition of BackendService.logConfig
WARNING: mismatch in field name BackendService.localityLbPolicies: expected "localityLbPolicyConfig" defined ""
INFO: adding authentication as beta field to definition of BackendService.securitySettings
INFO: adding awsV4Authentication as beta field to definition of BackendService.securitySettings
INFO: adding subsetSize as beta field to definition of BackendService.subsetting

example - generate

To generate a new resource definition, type:

$ mm-scaffolder generate \
   --product-directory tests/mmv1/products/networksecurity \
   serverTlsPolicies addressGroups
INFO: Writing to definition of ServerTlsPolicy to tests/mmv1/products/networksecurity/ServerTlsPolicy.yaml

install

to install, type:

pip install magic-module-scaffolder

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

magic-module-scaffolder-0.0.6.tar.gz (32.1 kB view details)

Uploaded Source

Built Distribution

magic_module_scaffolder-0.0.6-py3-none-any.whl (13.9 kB view details)

Uploaded Python 3

File details

Details for the file magic-module-scaffolder-0.0.6.tar.gz.

File metadata

File hashes

Hashes for magic-module-scaffolder-0.0.6.tar.gz
Algorithm Hash digest
SHA256 e3df8abac85bf787ac11632196a7cf845be761d94649ccc01fa650a837811571
MD5 243e210c59991a42e9e8f2e3696fc019
BLAKE2b-256 3d518f4f655385807aaea05d94cc41ba89a89c56c14530e6c7e19f12caf90f2e

See more details on using hashes here.

File details

Details for the file magic_module_scaffolder-0.0.6-py3-none-any.whl.

File metadata

File hashes

Hashes for magic_module_scaffolder-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 27bfef3ab1cb0390453b3deeee78cc25df8ed02498841cf880f9c287d5531f7a
MD5 e38e057bd6698546b7d9a183cc0a19bf
BLAKE2b-256 bfd5360c826363282e2186c21db0e205b93a566c2a7e82fbb858c5cd1c79ddff

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page