Skip to content

project-planton/aws-cloud-front-pulumi-module

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AWS CloudFront Pulumi Module

Note: This module is not completely implemented.

Introduction

This Pulumi module is designed to provision AWS CloudFront resources using a standardized API structure that mirrors Kubernetes resource modeling. By utilizing fields like apiVersion, kind, metadata, spec, and status, it ensures consistency and simplicity in managing infrastructure as code across multiple cloud providers.

The module accepts an API resource as input and sets up an AWS provider based on the provided specifications. It leverages Pulumi to manage resources, capturing outputs and storing them in status.stackOutputs. This approach streamlines the deployment process, allowing developers to define complex infrastructure through straightforward YAML configurations.

Key Features

  • Standardized API Structure: Follows a Kubernetes-like resource modeling approach for consistency and ease of use.
  • AWS Provider Configuration: Sets up the AWS provider using credentials specified by aws_credential_id.
  • Pulumi Integration: Utilizes Pulumi to manage AWS resources and captures outputs in a structured format.
  • Multi-Cloud Ready: Designed to be adaptable for use with multiple cloud providers due to its standardized API approach.
  • Simplified Deployment: Enables deployment of complex infrastructure with minimal configuration effort.

API Resource Specification

The API resource for AWS CloudFront includes the following key fields in the spec section:

  • aws_credential_id (string, required): The ID of the AWS credentials used to configure the AWS provider in the Pulumi stack job. This ensures that the module operates with the correct permissions and access.

Other fields like environment_info and stack_job_settings are part of the standard API structure but are not detailed here.

Module Details

The module's primary function is to set up an AWS provider using the credentials provided in the AwsCloudFrontStackInput. It initializes the provider with the necessary access key, secret key, and region, preparing the environment for resource creation.

Key Components:

  • AWS Credential Handling: Extracts AccessKeyId, SecretAccessKey, and Region from the input credentials.
  • Provider Initialization: Creates a new AWS provider instance within Pulumi using the extracted credentials.
  • Error Handling: Implements error checking to ensure the provider is created successfully.

Current Limitations:

  • The module currently does not create any AWS CloudFront resources; it only sets up the AWS provider. Future updates are planned to include full resource creation and management capabilities.

Usage

Refer to the example section for usage instructions.

Conclusion

This module provides a foundation for managing AWS CloudFront resources using a consistent and standardized approach. While it is not fully implemented yet, it establishes the necessary groundwork for future enhancements, making it easier for developers to deploy and manage infrastructure across multiple cloud environments with minimal effort.

About

Pulumi Module to Deploy "AWS CloudFront" w/ ProjectPlanton

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published