aws logo
AWS Classic v5.32.0, Mar 17 23

aws.getPartition

Use this data source to lookup information about the current AWS partition in which the provider is working.

Example Usage

using System.Collections.Generic;
using Pulumi;
using Aws = Pulumi.Aws;

return await Deployment.RunAsync(() => 
{
    var current = Aws.GetPartition.Invoke();

    var s3Policy = Aws.Iam.GetPolicyDocument.Invoke(new()
    {
        Statements = new[]
        {
            new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs
            {
                Actions = new[]
                {
                    "s3:ListBucket",
                },
                Resources = new[]
                {
                    $"arn:{current.Apply(getPartitionResult => getPartitionResult.Partition)}:s3:::my-bucket",
                },
                Sid = "1",
            },
        },
    });

});
package main

import (
	"fmt"

	"github.com/pulumi/pulumi-aws/sdk/v5/go/aws"
	"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/iam"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		current, err := aws.GetPartition(ctx, nil, nil)
		if err != nil {
			return err
		}
		_, err = iam.GetPolicyDocument(ctx, &iam.GetPolicyDocumentArgs{
			Statements: []iam.GetPolicyDocumentStatement{
				{
					Actions: []string{
						"s3:ListBucket",
					},
					Resources: []string{
						fmt.Sprintf("arn:%v:s3:::my-bucket", current.Partition),
					},
					Sid: pulumi.StringRef("1"),
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.AwsFunctions;
import com.pulumi.aws.iam.IamFunctions;
import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        final var current = AwsFunctions.getPartition();

        final var s3Policy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
            .statements(GetPolicyDocumentStatementArgs.builder()
                .actions("s3:ListBucket")
                .resources(String.format("arn:%s:s3:::my-bucket", current.applyValue(getPartitionResult -> getPartitionResult.partition())))
                .sid("1")
                .build())
            .build());

    }
}
import pulumi
import pulumi_aws as aws

current = aws.get_partition()
s3_policy = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(
    actions=["s3:ListBucket"],
    resources=[f"arn:{current.partition}:s3:::my-bucket"],
    sid="1",
)])
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const current = aws.getPartition({});
const s3Policy = current.then(current => aws.iam.getPolicyDocument({
    statements: [{
        actions: ["s3:ListBucket"],
        resources: [`arn:${current.partition}:s3:::my-bucket`],
        sid: "1",
    }],
}));
variables:
  current:
    fn::invoke:
      Function: aws:getPartition
      Arguments: {}
  s3Policy:
    fn::invoke:
      Function: aws:iam:getPolicyDocument
      Arguments:
        statements:
          - actions:
              - s3:ListBucket
            resources:
              - arn:${current.partition}:s3:::my-bucket
            sid: '1'

Using getPartition

function getPartition(opts?: InvokeOptions): Promise<GetPartitionResult>
def get_partition(opts: Optional[InvokeOptions] = None) -> GetPartitionResult
func GetPartition(ctx *Context, opts ...InvokeOption) (*GetPartitionResult, error)

> Note: This function is named GetPartition in the Go SDK.

public static class GetPartition 
{
    public static Task<GetPartitionResult> InvokeAsync(InvokeOptions? opts = null)
}
public static CompletableFuture<GetPartitionResult> getPartition(InvokeOptions options)
// Output-based functions aren't available in Java yet
fn::invoke:
  function: aws:index/getPartition:getPartition
  arguments:
    # arguments dictionary

getPartition Result

The following output properties are available:

DnsSuffix string

Base DNS domain name for the current partition (e.g., amazonaws.com in AWS Commercial, amazonaws.com.cn in AWS China).

Id string

The provider-assigned unique ID for this managed resource.

Partition string

Identifier of the current partition (e.g., aws in AWS Commercial, aws-cn in AWS China).

ReverseDnsPrefix string

Prefix of service names (e.g., com.amazonaws in AWS Commercial, cn.com.amazonaws in AWS China).

DnsSuffix string

Base DNS domain name for the current partition (e.g., amazonaws.com in AWS Commercial, amazonaws.com.cn in AWS China).

Id string

The provider-assigned unique ID for this managed resource.

Partition string

Identifier of the current partition (e.g., aws in AWS Commercial, aws-cn in AWS China).

ReverseDnsPrefix string

Prefix of service names (e.g., com.amazonaws in AWS Commercial, cn.com.amazonaws in AWS China).

dnsSuffix String

Base DNS domain name for the current partition (e.g., amazonaws.com in AWS Commercial, amazonaws.com.cn in AWS China).

id String

The provider-assigned unique ID for this managed resource.

partition String

Identifier of the current partition (e.g., aws in AWS Commercial, aws-cn in AWS China).

reverseDnsPrefix String

Prefix of service names (e.g., com.amazonaws in AWS Commercial, cn.com.amazonaws in AWS China).

dnsSuffix string

Base DNS domain name for the current partition (e.g., amazonaws.com in AWS Commercial, amazonaws.com.cn in AWS China).

id string

The provider-assigned unique ID for this managed resource.

partition string

Identifier of the current partition (e.g., aws in AWS Commercial, aws-cn in AWS China).

reverseDnsPrefix string

Prefix of service names (e.g., com.amazonaws in AWS Commercial, cn.com.amazonaws in AWS China).

dns_suffix str

Base DNS domain name for the current partition (e.g., amazonaws.com in AWS Commercial, amazonaws.com.cn in AWS China).

id str

The provider-assigned unique ID for this managed resource.

partition str

Identifier of the current partition (e.g., aws in AWS Commercial, aws-cn in AWS China).

reverse_dns_prefix str

Prefix of service names (e.g., com.amazonaws in AWS Commercial, cn.com.amazonaws in AWS China).

dnsSuffix String

Base DNS domain name for the current partition (e.g., amazonaws.com in AWS Commercial, amazonaws.com.cn in AWS China).

id String

The provider-assigned unique ID for this managed resource.

partition String

Identifier of the current partition (e.g., aws in AWS Commercial, aws-cn in AWS China).

reverseDnsPrefix String

Prefix of service names (e.g., com.amazonaws in AWS Commercial, cn.com.amazonaws in AWS China).

Package Details

Repository
AWS Classic pulumi/pulumi-aws
License
Apache-2.0
Notes

This Pulumi package is based on the aws Terraform Provider.