Package com.pulumi.aws.transfer
Class WebApp
- java.lang.Object
-
- com.pulumi.resources.Resource
-
- com.pulumi.resources.CustomResource
-
- com.pulumi.aws.transfer.WebApp
-
public class WebApp extends com.pulumi.resources.CustomResourceResource for managing an AWS Transfer Family Web App. ## Example Usage ### Basic Usage
## Import Using `pulumi import`, import Transfer Family Web App using the `webAppId`. For example: ```sh $ pulumi import aws:transfer/webApp:WebApp example web_app-id-12345678 ```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.inputs.GetCallerIdentityArgs; import com.pulumi.aws.inputs.GetRegionArgs; import com.pulumi.aws.inputs.GetPartitionArgs; import com.pulumi.aws.ssoadmin.SsoadminFunctions; import com.pulumi.aws.ssoadmin.inputs.GetInstancesArgs; import com.pulumi.aws.iam.IamFunctions; import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementConditionArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementPrincipalArgs; import com.pulumi.aws.iam.Role; import com.pulumi.aws.iam.RoleArgs; import com.pulumi.aws.iam.RolePolicy; import com.pulumi.aws.iam.RolePolicyArgs; import com.pulumi.aws.transfer.WebApp; import com.pulumi.aws.transfer.WebAppArgs; import com.pulumi.aws.transfer.inputs.WebAppIdentityProviderDetailsArgs; import com.pulumi.aws.transfer.inputs.WebAppIdentityProviderDetailsIdentityCenterConfigArgs; import com.pulumi.aws.transfer.inputs.WebAppWebAppUnitArgs; import java.util.ArrayList; import java.util.Arrays; 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.getCallerIdentity(GetCallerIdentityArgs.builder() .build()); final var currentGetRegion = AwsFunctions.getRegion(GetRegionArgs.builder() .build()); final var currentGetPartition = AwsFunctions.getPartition(GetPartitionArgs.builder() .build()); final var example = SsoadminFunctions.getInstances(GetInstancesArgs.builder() .build()); final var assumeRoleTransfer = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .conditions(GetPolicyDocumentStatementConditionArgs.builder() .test("StringEquals") .values(current.accountId()) .variable("aws:SourceAccount") .build()) .principals(GetPolicyDocumentStatementPrincipalArgs.builder() .type("Service") .identifiers("transfer.amazonaws.com") .build()) .effect("Allow") .actions( "sts:AssumeRole", "sts:SetContext") .build()) .build()); var exampleRole = new Role("exampleRole", RoleArgs.builder() .name("example") .assumeRolePolicy(assumeRoleTransfer.json()) .build()); final var exampleGetPolicyDocument = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements( GetPolicyDocumentStatementArgs.builder() .conditions(GetPolicyDocumentStatementConditionArgs.builder() .test("StringEquals") .values(current.accountId()) .variable("s3:ResourceAccount") .build()) .effect("Allow") .actions( "s3:GetDataAccess", "s3:ListCallerAccessGrants") .resources(String.format("arn:%s:s3:%s:%s:access-grants/*", currentGetPartition.partition(),currentGetRegion.region(),current.accountId())) .build(), GetPolicyDocumentStatementArgs.builder() .conditions(GetPolicyDocumentStatementConditionArgs.builder() .test("StringEquals") .values(current.accountId()) .variable("s3:ResourceAccount") .build()) .effect("Allow") .actions("s3:ListAccessGrantsInstances") .resources("*") .build()) .build()); var exampleRolePolicy = new RolePolicy("exampleRolePolicy", RolePolicyArgs.builder() .policy(exampleGetPolicyDocument.json()) .role(exampleRole.name()) .build()); var exampleWebApp = new WebApp("exampleWebApp", WebAppArgs.builder() .identityProviderDetails(WebAppIdentityProviderDetailsArgs.builder() .identityCenterConfig(WebAppIdentityProviderDetailsIdentityCenterConfigArgs.builder() .instanceArn(example.arns()[0]) .role(exampleRole.arn()) .build()) .build()) .webAppUnits(WebAppWebAppUnitArgs.builder() .provisioned(1) .build()) .tags(Map.of("Name", "test")) .build()); } }
-
-
Constructor Summary
Constructors Constructor Description WebApp(java.lang.String name)WebApp(java.lang.String name, WebAppArgs args)WebApp(java.lang.String name, WebAppArgs args, com.pulumi.resources.CustomResourceOptions options)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description com.pulumi.core.Output<java.lang.String>accessEndpoint()com.pulumi.core.Output<java.lang.String>arn()com.pulumi.core.Output<java.util.Optional<WebAppEndpointDetails>>endpointDetails()static WebAppget(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, WebAppState state, com.pulumi.resources.CustomResourceOptions options)Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.com.pulumi.core.Output<WebAppIdentityProviderDetails>identityProviderDetails()com.pulumi.core.Output<java.lang.String>region()com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,java.lang.String>>>tags()com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>>tagsAll()com.pulumi.core.Output<java.lang.String>webAppEndpointPolicy()com.pulumi.core.Output<java.lang.String>webAppId()com.pulumi.core.Output<java.util.List<WebAppWebAppUnit>>webAppUnits()
-
-
-
Constructor Detail
-
WebApp
public WebApp(java.lang.String name)
- Parameters:
name- The _unique_ name of the resulting resource.
-
WebApp
public WebApp(java.lang.String name, WebAppArgs args)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.
-
WebApp
public WebApp(java.lang.String name, WebAppArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.options- A bag of options that control this resource's behavior.
-
-
Method Detail
-
accessEndpoint
public com.pulumi.core.Output<java.lang.String> accessEndpoint()
- Returns:
- URL provided to interact with the Transfer Family web app. If `endpoint_details.vpc` block is specified, `accessEndpoint` must not be provided.
-
arn
public com.pulumi.core.Output<java.lang.String> arn()
- Returns:
- ARN of the Web App.
-
endpointDetails
public com.pulumi.core.Output<java.util.Optional<WebAppEndpointDetails>> endpointDetails()
- Returns:
- Block for the endpoint configuration for the web app. If not specified, the web app will be created with a public endpoint. See `endpointDetails` Block below.
-
identityProviderDetails
public com.pulumi.core.Output<WebAppIdentityProviderDetails> identityProviderDetails()
- Returns:
- Block for details of the identity provider to use with the web app. See `identityProviderDetails` Block below. The following arguments are optional:
-
region
public com.pulumi.core.Output<java.lang.String> region()
- Returns:
- Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
-
tags
public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,java.lang.String>>> tags()
- Returns:
- Key-value pairs that can be used to group and search for web apps.
-
tagsAll
public com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>> tagsAll()
-
webAppEndpointPolicy
public com.pulumi.core.Output<java.lang.String> webAppEndpointPolicy()
- Returns:
- Type of endpoint policy for the web app. Valid values are: `STANDARD`(default) or `FIPS`.
-
webAppId
public com.pulumi.core.Output<java.lang.String> webAppId()
- Returns:
- ID of the Web App resource.
-
webAppUnits
public com.pulumi.core.Output<java.util.List<WebAppWebAppUnit>> webAppUnits()
- Returns:
- Block for number of concurrent connections or the user sessions on the web app. See `webAppUnits` Block below.
-
get
public static WebApp get(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, @Nullable WebAppState state, @Nullable com.pulumi.resources.CustomResourceOptions options)
Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.- Parameters:
name- The _unique_ name of the resulting resource.id- The _unique_ provider ID of the resource to lookup.state-options- Optional settings to control the behavior of the CustomResource.
-
-