docs
reference
services
tessl install tessl/maven-com-pulumi--aws@7.16.0Pulumi Java SDK for AWS providing strongly-typed Infrastructure-as-Code for 227 AWS service packages including compute, storage, databases, networking, security, analytics, machine learning, and more.
AWS provider configuration for authentication, region settings, and global provider options.
The Provider resource configures AWS authentication and provider-level settings for all resources.
public class Provider extends com.pulumi.resources.ProviderResource {
/**
* Create a Provider resource with the given name and arguments.
*
* @param name The resource name
* @param args The provider configuration arguments
*/
public Provider(String name, ProviderArgs args);
/**
* Create a Provider resource with the given name, arguments, and options.
*
* @param name The resource name
* @param args The provider configuration arguments
* @param options Resource options
*/
public Provider(String name, ProviderArgs args, CustomResourceOptions options);
// Output properties
public Output<Optional<String>> accessKey();
public Output<Optional<String>> secretKey();
public Output<Optional<String>> region();
public Output<Optional<String>> profile();
public Output<Optional<String>> token();
}Configuration arguments for the AWS Provider.
public final class ProviderArgs extends com.pulumi.resources.ResourceArgs {
public static final ProviderArgs Empty = new ProviderArgs();
public static Builder builder();
public static final class Builder {
/**
* The AWS region where operations will take place
*/
public Builder region(String region);
public Builder region(Output<String> region);
/**
* AWS access key for API operations
*/
public Builder accessKey(String accessKey);
public Builder accessKey(Output<String> accessKey);
/**
* AWS secret key for API operations
*/
public Builder secretKey(String secretKey);
public Builder secretKey(Output<String> secretKey);
/**
* AWS profile name from ~/.aws/config
*/
public Builder profile(String profile);
public Builder profile(Output<String> profile);
/**
* Session token for temporary credentials
*/
public Builder token(String token);
public Builder token(Output<String> token);
/**
* List of allowed AWS account IDs to prevent operations on wrong account
*/
public Builder allowedAccountIds(List<String> allowedAccountIds);
public Builder allowedAccountIds(Output<List<String>> allowedAccountIds);
/**
* List of forbidden AWS account IDs to prevent operations
*/
public Builder forbiddenAccountIds(List<String> forbiddenAccountIds);
public Builder forbiddenAccountIds(Output<List<String>> forbiddenAccountIds);
/**
* Configuration for assuming an IAM role
*/
public Builder assumeRoles(List<ProviderAssumeRoleArgs> assumeRoles);
public Builder assumeRoles(Output<List<ProviderAssumeRoleArgs>> assumeRoles);
/**
* Configuration for assuming a role with web identity
*/
public Builder assumeRoleWithWebIdentity(ProviderAssumeRoleWithWebIdentityArgs assumeRoleWithWebIdentity);
public Builder assumeRoleWithWebIdentity(Output<ProviderAssumeRoleWithWebIdentityArgs> assumeRoleWithWebIdentity);
/**
* Default tags to apply to all resources
*/
public Builder defaultTags(ProviderDefaultTagsArgs defaultTags);
public Builder defaultTags(Output<ProviderDefaultTagsArgs> defaultTags);
/**
* Configuration for ignoring specific tags
*/
public Builder ignoreTags(ProviderIgnoreTagsArgs ignoreTags);
public Builder ignoreTags(Output<ProviderIgnoreTagsArgs> ignoreTags);
/**
* Maximum number of times an AWS API request is retried
*/
public Builder maxRetries(Integer maxRetries);
public Builder maxRetries(Output<Integer> maxRetries);
/**
* Specifies how retries are attempted: 'standard' or 'adaptive'
*/
public Builder retryMode(String retryMode);
public Builder retryMode(Output<String> retryMode);
/**
* Skip credentials validation via STS API
*/
public Builder skipCredentialsValidation(Boolean skipCredentialsValidation);
public Builder skipCredentialsValidation(Output<Boolean> skipCredentialsValidation);
/**
* Skip region name validation
*/
public Builder skipRegionValidation(Boolean skipRegionValidation);
public Builder skipRegionValidation(Output<Boolean> skipRegionValidation);
/**
* Skip AWS metadata API check
*/
public Builder skipMetadataApiCheck(Boolean skipMetadataApiCheck);
public Builder skipMetadataApiCheck(Output<Boolean> skipMetadataApiCheck);
/**
* Custom CA bundle file path
*/
public Builder customCaBundle(String customCaBundle);
public Builder customCaBundle(Output<String> customCaBundle);
/**
* HTTP proxy URL
*/
public Builder httpProxy(String httpProxy);
public Builder httpProxy(Output<String> httpProxy);
/**
* HTTPS proxy URL
*/
public Builder httpsProxy(String httpsProxy);
public Builder httpsProxy(Output<String> httpsProxy);
/**
* Comma-separated list of hosts that should not use proxies
*/
public Builder noProxy(String noProxy);
public Builder noProxy(Output<String> noProxy);
/**
* Allow insecure SSL requests
*/
public Builder insecure(Boolean insecure);
public Builder insecure(Output<Boolean> insecure);
/**
* EC2 metadata service endpoint address
*/
public Builder ec2MetadataServiceEndpoint(String ec2MetadataServiceEndpoint);
public Builder ec2MetadataServiceEndpoint(Output<String> ec2MetadataServiceEndpoint);
/**
* EC2 metadata service endpoint mode: 'IPv4' or 'IPv6'
*/
public Builder ec2MetadataServiceEndpointMode(String ec2MetadataServiceEndpointMode);
public Builder ec2MetadataServiceEndpointMode(Output<String> ec2MetadataServiceEndpointMode);
/**
* Use path-style addressing for S3 (https://s3.amazonaws.com/BUCKET/KEY)
*/
public Builder s3UsePathStyle(Boolean s3UsePathStyle);
public Builder s3UsePathStyle(Output<Boolean> s3UsePathStyle);
/**
* S3 us-east-1 endpoint mode: 'legacy' or 'regional'
*/
public Builder s3UsEast1RegionalEndpoint(String s3UsEast1RegionalEndpoint);
public Builder s3UsEast1RegionalEndpoint(Output<String> s3UsEast1RegionalEndpoint);
/**
* List of paths to shared config files (default: [~/.aws/config])
*/
public Builder sharedConfigFiles(List<String> sharedConfigFiles);
public Builder sharedConfigFiles(Output<List<String>> sharedConfigFiles);
/**
* List of paths to shared credentials files (default: [~/.aws/credentials])
*/
public Builder sharedCredentialsFiles(List<String> sharedCredentialsFiles);
public Builder sharedCredentialsFiles(Output<List<String>> sharedCredentialsFiles);
/**
* STS region override
*/
public Builder stsRegion(String stsRegion);
public Builder stsRegion(Output<String> stsRegion);
/**
* Skip requesting the account ID (for API implementations without IAM/STS)
*/
public Builder skipRequestingAccountId(Boolean skipRequestingAccountId);
public Builder skipRequestingAccountId(Output<Boolean> skipRequestingAccountId);
/**
* Tag policy compliance enforcement level: 'error', 'warning', or 'disabled'
*/
public Builder tagPolicyCompliance(String tagPolicyCompliance);
public Builder tagPolicyCompliance(Output<String> tagPolicyCompliance);
/**
* Capacity of AWS SDK token bucket rate limiter
*/
public Builder tokenBucketRateLimiterCapacity(Integer tokenBucketRateLimiterCapacity);
public Builder tokenBucketRateLimiterCapacity(Output<Integer> tokenBucketRateLimiterCapacity);
/**
* Resolve endpoints with DualStack capability
*/
public Builder useDualstackEndpoint(Boolean useDualstackEndpoint);
public Builder useDualstackEndpoint(Output<Boolean> useDualstackEndpoint);
/**
* Resolve endpoints with FIPS capability
*/
public Builder useFipsEndpoint(Boolean useFipsEndpoint);
public Builder useFipsEndpoint(Output<Boolean> useFipsEndpoint);
/**
* Product details to append to User-Agent string in AWS API calls
*/
public Builder userAgents(List<String> userAgents);
public Builder userAgents(Output<List<String>> userAgents);
/**
* Custom endpoint configurations for AWS services
*/
public Builder endpoints(List<ProviderEndpointArgs> endpoints);
public Builder endpoints(Output<List<ProviderEndpointArgs>> endpoints);
public ProviderArgs build();
}
}Access Pulumi configuration values for AWS provider settings.
public final class Config {
public Optional<String> region();
public Optional<String> accessKey();
public Optional<String> secretKey();
public Optional<String> profile();
public Optional<String> token();
public Optional<List<String>> allowedAccountIds();
public Optional<List<String>> forbiddenAccountIds();
public Optional<AssumeRoleWithWebIdentity> assumeRoleWithWebIdentity();
public Optional<List<AssumeRoles>> assumeRoles();
public Optional<DefaultTags> defaultTags();
public Optional<IgnoreTags> ignoreTags();
public Optional<Integer> maxRetries();
public Optional<String> retryMode();
public Optional<Boolean> skipCredentialsValidation();
public Optional<Boolean> skipRegionValidation();
public Optional<Boolean> skipMetadataApiCheck();
public Optional<Boolean> skipRequestingAccountId();
public Optional<String> customCaBundle();
public Optional<String> httpProxy();
public Optional<String> httpsProxy();
public Optional<String> noProxy();
public Optional<Boolean> insecure();
public Optional<String> ec2MetadataServiceEndpoint();
public Optional<String> ec2MetadataServiceEndpointMode();
public Optional<Boolean> s3UsePathStyle();
public Optional<String> s3UsEast1RegionalEndpoint();
public Optional<List<String>> sharedConfigFiles();
public Optional<List<String>> sharedCredentialsFiles();
public Optional<String> stsRegion();
public Optional<String> tagPolicyCompliance();
public Optional<Integer> tokenBucketRateLimiterCapacity();
public Optional<Boolean> useDualstackEndpoint();
public Optional<Boolean> useFipsEndpoint();
public Optional<List<String>> userAgents();
public Optional<List<Endpoints>> endpoints();
}AWS-level data source functions.
public final class AwsFunctions {
/**
* Parse and validate AWS ARN
*/
public static Output<GetArnResult> getArn(GetArnArgs args);
public static Output<GetArnResult> getArn(GetArnArgs args, InvokeOptions options);
public static CompletableFuture<GetArnResult> getArnPlain(GetArnArgs args);
public static CompletableFuture<GetArnResult> getArnPlain(GetArnArgs args, InvokeOptions options);
/**
* Get AWS caller identity (account ID, user ARN, user ID)
*/
public static Output<GetCallerIdentityResult> getCallerIdentity();
public static Output<GetCallerIdentityResult> getCallerIdentity(InvokeOptions options);
public static CompletableFuture<GetCallerIdentityResult> getCallerIdentityPlain();
public static CompletableFuture<GetCallerIdentityResult> getCallerIdentityPlain(InvokeOptions options);
/**
* Get current AWS region
*/
public static Output<GetRegionResult> getRegion();
public static Output<GetRegionResult> getRegion(GetRegionArgs args);
public static Output<GetRegionResult> getRegion(GetRegionArgs args, InvokeOptions options);
public static CompletableFuture<GetRegionResult> getRegionPlain();
public static CompletableFuture<GetRegionResult> getRegionPlain(GetRegionArgs args);
public static CompletableFuture<GetRegionResult> getRegionPlain(GetRegionArgs args, InvokeOptions options);
/**
* List all AWS regions
*/
public static Output<GetRegionsResult> getRegions();
public static Output<GetRegionsResult> getRegions(GetRegionsArgs args);
public static Output<GetRegionsResult> getRegions(GetRegionsArgs args, InvokeOptions options);
public static CompletableFuture<GetRegionsResult> getRegionsPlain();
public static CompletableFuture<GetRegionsResult> getRegionsPlain(GetRegionsArgs args);
public static CompletableFuture<GetRegionsResult> getRegionsPlain(GetRegionsArgs args, InvokeOptions options);
/**
* Get AWS partition (aws, aws-cn, aws-us-gov)
*/
public static Output<GetPartitionResult> getPartition();
public static Output<GetPartitionResult> getPartition(InvokeOptions options);
public static CompletableFuture<GetPartitionResult> getPartitionPlain();
public static CompletableFuture<GetPartitionResult> getPartitionPlain(InvokeOptions options);
/**
* Get AWS billing service account for the current region
*/
public static Output<GetBillingServiceAccountResult> getBillingServiceAccount();
public static Output<GetBillingServiceAccountResult> getBillingServiceAccount(InvokeOptions options);
public static CompletableFuture<GetBillingServiceAccountResult> getBillingServiceAccountPlain();
public static CompletableFuture<GetBillingServiceAccountResult> getBillingServiceAccountPlain(InvokeOptions options);
/**
* Get AWS default tags configuration
*/
public static Output<GetDefaultTagsResult> getDefaultTags();
public static Output<GetDefaultTagsResult> getDefaultTags(InvokeOptions options);
public static CompletableFuture<GetDefaultTagsResult> getDefaultTagsPlain();
public static CompletableFuture<GetDefaultTagsResult> getDefaultTagsPlain(InvokeOptions options);
/**
* Get AWS IP address ranges
*/
public static Output<GetIpRangesResult> getIpRanges(GetIpRangesArgs args);
public static Output<GetIpRangesResult> getIpRanges(GetIpRangesArgs args, InvokeOptions options);
public static CompletableFuture<GetIpRangesResult> getIpRangesPlain(GetIpRangesArgs args);
public static CompletableFuture<GetIpRangesResult> getIpRangesPlain(GetIpRangesArgs args, InvokeOptions options);
/**
* Get AWS service information
*/
public static Output<GetServiceResult> getService(GetServiceArgs args);
public static Output<GetServiceResult> getService(GetServiceArgs args, InvokeOptions options);
public static CompletableFuture<GetServiceResult> getServicePlain(GetServiceArgs args);
public static CompletableFuture<GetServiceResult> getServicePlain(GetServiceArgs args, InvokeOptions options);
/**
* Get availability zone information
*/
public static Output<GetAvailabilityZoneResult> getAvailabilityZone();
public static Output<GetAvailabilityZoneResult> getAvailabilityZone(GetAvailabilityZoneArgs args);
public static Output<GetAvailabilityZoneResult> getAvailabilityZone(GetAvailabilityZoneArgs args, InvokeOptions options);
public static CompletableFuture<GetAvailabilityZoneResult> getAvailabilityZonePlain();
public static CompletableFuture<GetAvailabilityZoneResult> getAvailabilityZonePlain(GetAvailabilityZoneArgs args);
public static CompletableFuture<GetAvailabilityZoneResult> getAvailabilityZonePlain(GetAvailabilityZoneArgs args, InvokeOptions options);
/**
* List availability zones in current region
*/
public static Output<GetAvailabilityZonesResult> getAvailabilityZones();
public static Output<GetAvailabilityZonesResult> getAvailabilityZones(GetAvailabilityZonesArgs args);
public static Output<GetAvailabilityZonesResult> getAvailabilityZones(GetAvailabilityZonesArgs args, InvokeOptions options);
public static CompletableFuture<GetAvailabilityZonesResult> getAvailabilityZonesPlain();
public static CompletableFuture<GetAvailabilityZonesResult> getAvailabilityZonesPlain(GetAvailabilityZonesArgs args);
public static CompletableFuture<GetAvailabilityZonesResult> getAvailabilityZonesPlain(GetAvailabilityZonesArgs args, InvokeOptions options);
/**
* Get service principal name for an AWS service
*/
public static Output<GetServicePrincipalResult> getServicePrincipal(GetServicePrincipalArgs args);
public static Output<GetServicePrincipalResult> getServicePrincipal(GetServicePrincipalArgs args, InvokeOptions options);
public static CompletableFuture<GetServicePrincipalResult> getServicePrincipalPlain(GetServicePrincipalArgs args);
public static CompletableFuture<GetServicePrincipalResult> getServicePrincipalPlain(GetServicePrincipalArgs args, InvokeOptions options);
}Configuration for assuming an IAM role.
public final class ProviderAssumeRoleArgs {
public static Builder builder();
public static final class Builder {
public Builder roleArn(String roleArn);
public Builder roleArn(Output<String> roleArn);
public Builder sessionName(String sessionName);
public Builder sessionName(Output<String> sessionName);
public Builder externalId(String externalId);
public Builder externalId(Output<String> externalId);
public Builder duration(String duration);
public Builder duration(Output<String> duration);
public Builder policy(String policy);
public Builder policy(Output<String> policy);
public Builder policyArns(List<String> policyArns);
public Builder policyArns(Output<List<String>> policyArns);
public Builder tags(Map<String, String> tags);
public Builder tags(Output<Map<String, String>> tags);
public ProviderAssumeRoleArgs build();
}
}Configuration for assuming a role with web identity.
public final class ProviderAssumeRoleWithWebIdentityArgs {
public static Builder builder();
public static final class Builder {
public Builder roleArn(String roleArn);
public Builder roleArn(Output<String> roleArn);
public Builder sessionName(String sessionName);
public Builder sessionName(Output<String> sessionName);
public Builder webIdentityToken(String webIdentityToken);
public Builder webIdentityToken(Output<String> webIdentityToken);
public Builder webIdentityTokenFile(String webIdentityTokenFile);
public Builder webIdentityTokenFile(Output<String> webIdentityTokenFile);
public Builder duration(String duration);
public Builder duration(Output<String> duration);
public Builder policy(String policy);
public Builder policy(Output<String> policy);
public Builder policyArns(List<String> policyArns);
public Builder policyArns(Output<List<String>> policyArns);
public ProviderAssumeRoleWithWebIdentityArgs build();
}
}Default tags to apply to all resources.
public final class ProviderDefaultTagsArgs {
public static Builder builder();
public static final class Builder {
public Builder tags(Map<String, String> tags);
public Builder tags(Output<Map<String, String>> tags);
public ProviderDefaultTagsArgs build();
}
}Configuration for ignoring specific tags.
public final class ProviderIgnoreTagsArgs {
public static Builder builder();
public static final class Builder {
public Builder keys(List<String> keys);
public Builder keys(Output<List<String>> keys);
public Builder keyPrefixes(List<String> keyPrefixes);
public Builder keyPrefixes(Output<List<String>> keyPrefixes);
public ProviderIgnoreTagsArgs build();
}
}Custom endpoint configuration for AWS services.
public final class ProviderEndpointArgs {
public static Builder builder();
public static final class Builder {
public Builder service(String service);
public Builder service(Output<String> service);
public Builder url(String url);
public Builder url(Output<String> url);
public ProviderEndpointArgs build();
}
}import com.pulumi.aws.Provider;
import com.pulumi.aws.ProviderArgs;
var awsProvider = new Provider("aws", ProviderArgs.builder()
.region("us-west-2")
.profile("my-profile")
.build());import com.pulumi.aws.Provider;
import com.pulumi.aws.ProviderArgs;
import com.pulumi.aws.inputs.ProviderAssumeRoleArgs;
var awsProvider = new Provider("aws", ProviderArgs.builder()
.region("us-west-2")
.assumeRoles(List.of(ProviderAssumeRoleArgs.builder()
.roleArn("arn:aws:iam::123456789012:role/MyRole")
.sessionName("pulumi-session")
.build()))
.build());import com.pulumi.aws.Provider;
import com.pulumi.aws.ProviderArgs;
import com.pulumi.aws.inputs.ProviderDefaultTagsArgs;
var awsProvider = new Provider("aws", ProviderArgs.builder()
.region("us-east-1")
.defaultTags(ProviderDefaultTagsArgs.builder()
.tags(Map.of(
"Environment", "Production",
"ManagedBy", "Pulumi"
))
.build())
.build());import com.pulumi.aws.Config;
var config = new Config();
String region = config.region().orElse("us-east-1");
Integer maxRetries = config.maxRetries().orElse(3);import com.pulumi.aws.AwsFunctions;
var identity = AwsFunctions.getCallerIdentity();
identity.applyValue(result -> {
System.out.println("Account ID: " + result.accountId());
System.out.println("User ARN: " + result.arn());
return result;
});import com.pulumi.aws.AwsFunctions;
var region = AwsFunctions.getRegion();
region.applyValue(result -> {
System.out.println("Region: " + result.name());
System.out.println("Endpoint: " + result.endpoint());
return result;
});import com.pulumi.aws.AwsFunctions;
import com.pulumi.aws.inputs.GetAvailabilityZoneArgs;
var az = AwsFunctions.getAvailabilityZone(GetAvailabilityZoneArgs.builder()
.name("us-east-1a")
.build());
az.applyValue(result -> {
System.out.println("Zone ID: " + result.zoneId());
System.out.println("Zone Name: " + result.name());
System.out.println("Region: " + result.region());
return result;
});import com.pulumi.aws.AwsFunctions;
import com.pulumi.aws.inputs.GetAvailabilityZonesArgs;
var azs = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder()
.state("available")
.build());
azs.applyValue(result -> {
System.out.println("Available zones: " + result.names());
return result;
});import com.pulumi.aws.AwsFunctions;
import com.pulumi.aws.inputs.GetServicePrincipalArgs;
var principal = AwsFunctions.getServicePrincipal(GetServicePrincipalArgs.builder()
.serviceName("lambda")
.build());
principal.applyValue(result -> {
System.out.println("Service Principal: " + result.name());
return result;
});