Skip to content

Commit

Permalink
De-emphasize Aws native in docs (#12892)
Browse files Browse the repository at this point in the history
* Don't promote aws-native quite so heavily

* remove 'classic' branding from mentions of the pulumi-aws provider

* attempt to fix indentation
  • Loading branch information
mjeffryes authored Sep 25, 2024
1 parent 6c56d90 commit 23ea27f
Show file tree
Hide file tree
Showing 22 changed files with 56 additions and 53 deletions.
2 changes: 1 addition & 1 deletion content/blog/advanced-aws-networking-part-1/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ There’s several advantages to this architecture:

## Creating the first Transit Gateway resources

After initializing your Pulumi project and adding the necessary references to the [AWS Classic](https://www.pulumi.com/registry/packages/aws/) and [AWSX](https://www.pulumi.com/registry/packages/awsx/), you can add the resources relating to your Transit Gateway.
After initializing your Pulumi project and adding the necessary references to the [AWS](https://www.pulumi.com/registry/packages/aws/) and [AWSX](https://www.pulumi.com/registry/packages/awsx/), you can add the resources relating to your Transit Gateway.

You'll need to configure a CIDR block for your network's supernet. All spoke VPCs in this codebase must fall under the supernet CIDR block. You will use the supernet CIDR to create a route in the inspection VPC that will route traffic returning from the internet to the Transit Gateway. The Transit Gateway will, in turn, route the traffic back to the specific originating spoke VPC.

Expand Down
4 changes: 2 additions & 2 deletions content/blog/amazon-s3-express-one-zone/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,14 +30,14 @@ This new storage class is not universally available in all regions and AZs yet,

You can create a new Amazon S3 Express One Zone bucket using the `aws s3api create-bucket` CLI command or in the AWS console. For this blog post, however, you'll use infrastructure as code instead, so that provisioning, updating, and managing our buckets is automated, reliable, and easy to scale.

To do this, you will use Pulumi's new [`aws.s3.DirectoryBucket` resource type](/registry/packages/aws/api-docs/s3/directorybucket/) in the AWS Classic package. It takes a few parameters:
To do this, you will use Pulumi's new [`aws.s3.DirectoryBucket` resource type](/registry/packages/aws/api-docs/s3/directorybucket/) in the AWS package. It takes a few parameters:

* `bucket`, which is the name (conforming to the above-mentioned `[name]--[az]--x-s3` convention)
* `dataRedundancy`, which currently just accepts the sole value `"SingleAvailabilityZone"`
* `location`, which specifies the AZ ID to use
* `forceDestroy`, an optional boolean which, when set to true, allows deleting buckets that still have data in them (by default, only empty buckets can be deleted, to prevent accidental data loss)

> Pulumi's AWS Native package also supports Amazon S3 Express One Zone through the [`aws-native.s3express.DirectoryBucket` type](/registry/packages/aws-native/api-docs/s3express/directorybucket/). Its usage is very similar to the AWS Classic package.
> Pulumi's AWS Native package also supports Amazon S3 Express One Zone through the [`aws-native.s3express.DirectoryBucket` type](/registry/packages/aws-native/api-docs/s3express/directorybucket/). Its usage is very similar to the AWS package.
Here is a simple program that declares a new Amazon S3 Express One Zone bucket:

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
---
title: "Announcing 6.0 of the Pulumi AWS Classic Provider"
title: "Announcing 6.0 of the Pulumi AWS Provider"
date: 2023-08-29T09:00:00-04:00
draft: false
meta_desc: "Announcing 6.0 of the Pulumi AWS Classic Provider, including SDK size optimization, TF plugin framework support, new resources, and more."
meta_desc: "Announcing 6.0 of the Pulumi AWS Provider, including SDK size optimization, TF plugin framework support, new resources, and more."
meta_image: meta.png
authors:
- mikhail-shilkov
Expand All @@ -13,7 +13,7 @@ tags:

---

We are excited to announce 6.0 of the [Pulumi AWS Classic provider](https://www.pulumi.com/registry/packages/aws/). The AWS Classic provider is the most heavily used provider across the entire Pulumi ecosystem, and offers access to the full surface area of the upstream Terraform AWS Provider in Pulumi projects in all supported languages. The [6.0 release](https://github.com/pulumi/pulumi-aws/releases/tag/v6.0.2) brings a substantial set of fixes and improvements to the provider, including a number of breaking changes as part of the major version release.
We are excited to announce 6.0 of the [Pulumi AWS provider](https://www.pulumi.com/registry/packages/aws/). The AWS provider is the most heavily used provider across the entire Pulumi ecosystem, and offers access to the full surface area of the upstream Terraform AWS Provider in Pulumi projects in all supported languages. The [6.0 release](https://github.com/pulumi/pulumi-aws/releases/tag/v6.0.2) brings a substantial set of fixes and improvements to the provider, including a number of breaking changes as part of the major version release.

This blog post walks you through the list of notable changes in the new major version.

Expand All @@ -31,13 +31,13 @@ More and more Terraform resources are migrating to the [Terraform Plugin Framewo

![aws_api](aws_api.png)

Since the previous major release of 5.0, we have shipped 57 additional minor and patch releases, enabling you to keep up with the latest and greatest enhancements. The new major version of the AWS Classic provider brings 56 new resources and 23 new functions. Additions include resources for Audit Manager, Chime, Fin Space, Global Accelerator, Open Search, Quicksight, Resource Explorer, Route53, Transfer, and many other AWS services.
Since the previous major release of 5.0, we have shipped 57 additional minor and patch releases, enabling you to keep up with the latest and greatest enhancements. The new major version of the AWS provider brings 56 new resources and 23 new functions. Additions include resources for Audit Manager, Chime, Fin Space, Global Accelerator, Open Search, Quicksight, Resource Explorer, Route53, Transfer, and many other AWS services.

You can see a full list of new resources and functions in [Release Notes](https://github.com/pulumi/pulumi-aws/releases/tag/v6.0.2).

### SDK Size Optimization

The AWS Classic provider contains more than 1,200 resources with over 12,000 properties between them. As a result, it’s expected that the SDK size of the provider has grown to be fairly large. With that in mind, we invested in some key areas to reduce the size of generated files. Depending on the runtime, the SDK is now up to 90% smaller than it used to be in v5 of the provider!
The AWS provider contains more than 1,200 resources with over 12,000 properties between them. As a result, it’s expected that the SDK size of the provider has grown to be fairly large. With that in mind, we invested in some key areas to reduce the size of generated files. Depending on the runtime, the SDK is now up to 90% smaller than it used to be in v5 of the provider!

![aws_sdk](aws_sdk.png)

Expand All @@ -47,7 +47,7 @@ Smaller SDK sizes mean faster downloads, snappier experience with editors and co

### Upstream Breaking Changes

Pulumi AWS Classic 6.0 ships all improvements and bug fixes of upstream versions from 5.0.0 to 5.11.0. It also contains a number of upstream breaking changes. Please refer to the [changelog](https://github.com/hashicorp/terraform-provider-aws/blob/main/CHANGELOG.md) to navigate the entire list.
Pulumi AWS 6.0 ships all improvements and bug fixes of upstream versions from 5.0.0 to 5.11.0. It also contains a number of upstream breaking changes. Please refer to the [changelog](https://github.com/hashicorp/terraform-provider-aws/blob/main/CHANGELOG.md) to navigate the entire list.

### Fixes for Highly Upvoted Issues

Expand All @@ -65,4 +65,4 @@ You can see a full list of changes and learn more about migrating your existing

### Get Started Today

You can browse our [API reference docs](https://www.pulumi.com/registry/packages/aws/) with inline examples or explore the [Pulumi AWS Classic Provider](https://github.com/pulumi/pulumi-aws) repository to get started today! And don't forget [to register for the live workshop](/resources/getting-started-with-iac-pulumi-aws/) on September 7, 2023 to see AWS 6.0 in action!
You can browse our [API reference docs](https://www.pulumi.com/registry/packages/aws/) with inline examples or explore the [Pulumi AWS Provider](https://github.com/pulumi/pulumi-aws) repository to get started today! And don't forget [to register for the live workshop](/resources/getting-started-with-iac-pulumi-aws/) on September 7, 2023 to see AWS 6.0 in action!
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,14 @@ tags:
- aws
---

We are excited to announce v5.0.0 of the Pulumi [AWS Classic](https://www.pulumi.com/registry/packages/aws/) provider. The AWS Classic provider is one of the most heavily used providers across the Pulumi ecosystem, and offers access to the full surface area of the upstream Terraform AWS Provider from within Pulumi projects in all supported Pulumi languages. The v5.0.0 release brings a substantial set of [fixes and improvements](https://github.com/hashicorp/terraform-provider-aws/blob/main/CHANGELOG.md#400-february-10-2022) to the provider, including a number of breaking
We are excited to announce v5.0.0 of the Pulumi [AWS](https://www.pulumi.com/registry/packages/aws/) provider. The AWS provider is one of the most heavily used providers across the Pulumi ecosystem, and offers access to the full surface area of the upstream Terraform AWS Provider from within Pulumi projects in all supported Pulumi languages. The v5.0.0 release brings a substantial set of [fixes and improvements](https://github.com/hashicorp/terraform-provider-aws/blob/main/CHANGELOG.md#400-february-10-2022) to the provider, including a number of breaking
changes as part of the major version release.

<!--more-->

At Pulumi, we take compatibility seriously, and are concious of the impact that major version updates can have on developer adoption. To that end, it is always our goal to minimize the extent of breaking changes where possible, and to provide easy paths for adoption of new versions. Among the breaking changes that come along with the upstream provider update, one in particular has potential to be disruptive to common usage of the Pulumi AWS Classic provider - a change to the API for the AWS S3 Bucket resource which removes many features from the Bucket resource and introduces new resources to represent these capabilities.
At Pulumi, we take compatibility seriously, and are concious of the impact that major version updates can have on developer adoption. To that end, it is always our goal to minimize the extent of breaking changes where possible, and to provide easy paths for adoption of new versions. Among the breaking changes that come along with the upstream provider update, one in particular has potential to be disruptive to common usage of the Pulumi AWS provider - a change to the API for the AWS S3 Bucket resource which removes many features from the Bucket resource and introduces new resources to represent these capabilities.

In order to ensure that Pulumi AWS Classic users are not adversely impacted by this breaking change, we have extended the Pulumi AWS Classic provider to offer both the old implementation and the new implementation of the S3 Bucket resource. This means that all existing usages of S3 Bucket will continue to work as normal. We also now offer the ability to create a v2 variants of the S3 Bucket supported in the new upstream AWS provider.
In order to ensure that Pulumi AWS users are not adversely impacted by this breaking change, we have extended the Pulumi AWS provider to offer both the old implementation and the new implementation of the S3 Bucket resource. This means that all existing usages of S3 Bucket will continue to work as normal. We also now offer the ability to create a v2 variants of the S3 Bucket supported in the new upstream AWS provider.

Let's consider an existing implemention of an S3 Bucket that is used to create a static website:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ For this example, we’ll define a new role 'abac-test' as well as a team attrib

![Controlling access to creating an AWS Lambda function via IAM Roles and Attributes](./figure1.png)

To get started, let's first install the Pulumi AWS Classic provider:
To get started, let's first install the Pulumi AWS provider:

{{< chooser language "typescript,csharp,python,go" >}}
{{% choosable language typescript %}}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Bringing resources under IaC (and Pulumi specifically) gives an organization an

## About Pulumi Import

The `pulumi import` command is executed within the context of a Pulumi stack. The user supplies the type of resource to be imported, a name with which to identify the resource in the Pulumi program and state file, and a resource-dependent ID. For example, we might run the following command to import an AWS VPC (this command is sourced from [the API docs for the AWS Classic provider in the Pulumi Registry](/registry/packages/aws/api-docs/ec2/vpc/#import)):
The `pulumi import` command is executed within the context of a Pulumi stack. The user supplies the type of resource to be imported, a name with which to identify the resource in the Pulumi program and state file, and a resource-dependent ID. For example, we might run the following command to import an AWS VPC (this command is sourced from [the API docs for the AWS provider in the Pulumi Registry](/registry/packages/aws/api-docs/ec2/vpc/#import)):

```bash
pulumi import aws:ec2/vpc:Vpc imported-vpc vpc-0b0a6ad0766eccf3b
Expand Down
2 changes: 1 addition & 1 deletion content/blog/aws-cdk-on-pulumi/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ Note how the `pulumicdk.asString` and `asOutput` functions are used to convert P

Last year we released a new [AWS Native](/blog/announcing-aws-native/) Pulumi provider in preview. The AWS Native provider builds on the new [AWS Cloud Control API](https://aws.amazon.com/blogs/aws/announcing-aws-cloud-control-api/), which offers direct provisioning support for the same resource model supported by AWS CloudFormation.

The new AWS CDK on Pulumi builds upon AWS Native by converting the CloudFormation resource tree into the corresponding resource definitions from the AWS Native provider. This provides a high fidelity mapping of each resource into Pulumi. The coverage provided by AWS Cloud Control API (and thus AWS Native) is not yet complete across the entire breadth of the CloudFormation resource model though, so for some resources, it may be necessary to map them to a resource definition to use via the AWS Classic provider. This is handled via the `remapCloudControlResource` API which allows providing a custom mapping for a given CloudFormation resource type which is not yet supported in Pulumi AWS Native and AWS Cloud Control.
The new AWS CDK on Pulumi builds upon AWS Native by converting the CloudFormation resource tree into the corresponding resource definitions from the AWS Native provider. This provides a high fidelity mapping of each resource into Pulumi. The coverage provided by AWS Cloud Control API (and thus AWS Native) is not yet complete across the entire breadth of the CloudFormation resource model though, so for some resources, it may be necessary to map them to a resource definition to use via the AWS provider. This is handled via the `remapCloudControlResource` API which allows providing a custom mapping for a given CloudFormation resource type which is not yet supported in Pulumi AWS Native and AWS Cloud Control.

For example, to provide a mapping for the `AWS::Lambda::Permission` resource type, define a function like the following:

Expand Down
2 changes: 1 addition & 1 deletion content/blog/aws-lambda-response-streaming/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ For this simple text-based example, there is little need to worry about overall

## Packaging and deploying your Lambda Function for streaming with Pulumi

We can package our Lambda function for streaming with just a few dozen lines of code using Pulumi. First, we’ll need to import some libraries that will allow us to package our Lambda and create the necessary resources in AWS. For this exercise, we’ll be using both the [AWS Native](https://www.pulumi.com/registry/packages/aws-native/) provider and the [AWS Classic](https://www.pulumi.com/registry/packages/aws/) provider. The AWS Native provider works with the [AWS Cloud Control API](https://aws.amazon.com/cloudcontrolapi/) to enable same-day support for new AWS features like Lambda response streaming.
We can package our Lambda function for streaming with just a few dozen lines of code using Pulumi. First, we’ll need to import some libraries that will allow us to package our Lambda and create the necessary resources in AWS. For this exercise, we’ll be using both the [AWS Native](https://www.pulumi.com/registry/packages/aws-native/) provider and the [AWS](https://www.pulumi.com/registry/packages/aws/) provider. The AWS Native provider works with the [AWS Cloud Control API](https://aws.amazon.com/cloudcontrolapi/) to enable same-day support for new AWS features like Lambda response streaming.

```typescript
import * as pulumi from "@pulumi/pulumi";
Expand Down
2 changes: 1 addition & 1 deletion content/blog/aws-lambda-snapstart/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ Lambda functions that need to persist network connections, rely on ephemeral dat

## Configuring Lambda Functions to work with SnapStart in Pulumi

To take advantage of faster cold starts, you must create your function resource with the option to use SnapStart. Note that beyond the previously described requirements to make your function code SnapSafe, no changes need to be made to the function code itself to use SnapStart. In the following example, we use the [AWS Native](https://www.pulumi.com/registry/packages/aws-native/) provider to provision our function with SnapStart. The AWS Native provider uses the new [Cloud Control API](https://aws.amazon.com/cloudcontrolapi/) behind the scenes and has same-day support for new resources included in Cloud Control API - like SnapStart. This example also uses the [AWS Classic provider](https://www.pulumi.com/registry/packages/aws/) and the [Pulumi Command Provider](https://www.pulumi.com/registry/packages/command).
To take advantage of faster cold starts, you must create your function resource with the option to use SnapStart. Note that beyond the previously described requirements to make your function code SnapSafe, no changes need to be made to the function code itself to use SnapStart. In the following example, we use the [AWS Native](https://www.pulumi.com/registry/packages/aws-native/) provider to provision our function with SnapStart. The AWS Native provider uses the new [Cloud Control API](https://aws.amazon.com/cloudcontrolapi/) behind the scenes and has same-day support for new resources included in Cloud Control API - like SnapStart. This example also uses the [AWS provider](https://www.pulumi.com/registry/packages/aws/) and the [Pulumi Command Provider](https://www.pulumi.com/registry/packages/command).

First, we add the necessary imports, create a role for our function to assume, and an S3 bucket to hold our Lambda code. Then we add our function’s zipped code as an object in the bucket. For this example, the Lambda function code is the [AWS pet store example](https://github.com/awslabs/aws-serverless-java-container/tree/main/samples/springboot3/pet-store) in Spring Boot:

Expand Down
2 changes: 1 addition & 1 deletion content/blog/pulumi-release-notes-70/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ The team has been busy releasing new features and improvements in the last month

### Pulumi AWS Provider v5.0.0

We are excited to announce v5.0.0 of the Pulumi AWS Classic provider. The AWS Classic provider is one of the most heavily used providers across the Pulumi ecosystem, and offers access to the full surface area of the upstream Terraform AWS Provider from within Pulumi projects in all supported Pulumi languages. The v5.0.0 release brings a substantial set of fixes and improvements to the provider, including a number of breaking changes as part of the major version release.
We are excited to announce v5.0.0 of the Pulumi AWS provider. The AWS provider is one of the most heavily used providers across the Pulumi ecosystem, and offers access to the full surface area of the upstream Terraform AWS Provider from within Pulumi projects in all supported Pulumi languages. The v5.0.0 release brings a substantial set of fixes and improvements to the provider, including a number of breaking changes as part of the major version release.

Read more in the [Pulumi AWS Provider v5.0.0 blog post](/blog/announcing-v5.0.0-of-the-pulumi-aws-provider).

Expand Down
Loading

0 comments on commit 23ea27f

Please sign in to comment.