Package com.pulumi.aws.appsync
Class Api
- java.lang.Object
-
- com.pulumi.resources.Resource
-
- com.pulumi.resources.CustomResource
-
- com.pulumi.aws.appsync.Api
-
public class Api extends com.pulumi.resources.CustomResourceManages an [AWS AppSync Event API](https://docs.aws.amazon.com/appsync/latest/eventapi/event-api-concepts.html#API). Event APIs enable real-time subscriptions and event-driven communication in AppSync applications. ## Example Usage ### Basic Usage
### With Cognito Authenticationpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.appsync.Api; import com.pulumi.aws.appsync.ApiArgs; import com.pulumi.aws.appsync.inputs.ApiEventConfigArgs; import com.pulumi.aws.appsync.inputs.ApiEventConfigAuthProviderArgs; import com.pulumi.aws.appsync.inputs.ApiEventConfigConnectionAuthModeArgs; import com.pulumi.aws.appsync.inputs.ApiEventConfigDefaultPublishAuthModeArgs; import com.pulumi.aws.appsync.inputs.ApiEventConfigDefaultSubscribeAuthModeArgs; 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) { var example = new Api("example", ApiArgs.builder() .eventConfig(ApiEventConfigArgs.builder() .authProviders(ApiEventConfigAuthProviderArgs.builder() .authType("API_KEY") .build()) .connectionAuthModes(ApiEventConfigConnectionAuthModeArgs.builder() .authType("API_KEY") .build()) .defaultPublishAuthModes(ApiEventConfigDefaultPublishAuthModeArgs.builder() .authType("API_KEY") .build()) .defaultSubscribeAuthModes(ApiEventConfigDefaultSubscribeAuthModeArgs.builder() .authType("API_KEY") .build()) .build()) .name("example-event-api") .build()); } }
### With Lambda Authorizerpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.cognito.UserPool; import com.pulumi.aws.cognito.UserPoolArgs; import com.pulumi.aws.AwsFunctions; import com.pulumi.aws.inputs.GetRegionArgs; import com.pulumi.aws.appsync.Api; import com.pulumi.aws.appsync.ApiArgs; import com.pulumi.aws.appsync.inputs.ApiEventConfigArgs; import com.pulumi.aws.appsync.inputs.ApiEventConfigAuthProviderArgs; import com.pulumi.aws.appsync.inputs.ApiEventConfigAuthProviderCognitoConfigArgs; import com.pulumi.aws.appsync.inputs.ApiEventConfigConnectionAuthModeArgs; import com.pulumi.aws.appsync.inputs.ApiEventConfigDefaultPublishAuthModeArgs; import com.pulumi.aws.appsync.inputs.ApiEventConfigDefaultSubscribeAuthModeArgs; 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) { var example = new UserPool("example", UserPoolArgs.builder() .name("example-user-pool") .build()); final var current = AwsFunctions.getRegion(GetRegionArgs.builder() .build()); var exampleApi = new Api("exampleApi", ApiArgs.builder() .eventConfig(ApiEventConfigArgs.builder() .authProviders(ApiEventConfigAuthProviderArgs.builder() .cognitoConfig(ApiEventConfigAuthProviderCognitoConfigArgs.builder() .userPoolId(example.id()) .awsRegion(current.region()) .build()) .authType("AMAZON_COGNITO_USER_POOLS") .build()) .connectionAuthModes(ApiEventConfigConnectionAuthModeArgs.builder() .authType("AMAZON_COGNITO_USER_POOLS") .build()) .defaultPublishAuthModes(ApiEventConfigDefaultPublishAuthModeArgs.builder() .authType("AMAZON_COGNITO_USER_POOLS") .build()) .defaultSubscribeAuthModes(ApiEventConfigDefaultSubscribeAuthModeArgs.builder() .authType("AMAZON_COGNITO_USER_POOLS") .build()) .build()) .name("example-event-api") .build()); } }
## Import Using `pulumi import`, import AppSync Event API using the `apiId`. For example: ```sh $ pulumi import aws:appsync/api:Api example example-api-id ```package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.appsync.Api; import com.pulumi.aws.appsync.ApiArgs; import com.pulumi.aws.appsync.inputs.ApiEventConfigArgs; import com.pulumi.aws.appsync.inputs.ApiEventConfigAuthProviderArgs; import com.pulumi.aws.appsync.inputs.ApiEventConfigAuthProviderLambdaAuthorizerConfigArgs; import com.pulumi.aws.appsync.inputs.ApiEventConfigConnectionAuthModeArgs; import com.pulumi.aws.appsync.inputs.ApiEventConfigDefaultPublishAuthModeArgs; import com.pulumi.aws.appsync.inputs.ApiEventConfigDefaultSubscribeAuthModeArgs; 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) { var example = new Api("example", ApiArgs.builder() .eventConfig(ApiEventConfigArgs.builder() .authProviders(ApiEventConfigAuthProviderArgs.builder() .lambdaAuthorizerConfig(ApiEventConfigAuthProviderLambdaAuthorizerConfigArgs.builder() .authorizerUri(exampleAwsLambdaFunction.arn()) .authorizerResultTtlInSeconds(300) .build()) .authType("AWS_LAMBDA") .build()) .connectionAuthModes(ApiEventConfigConnectionAuthModeArgs.builder() .authType("AWS_LAMBDA") .build()) .defaultPublishAuthModes(ApiEventConfigDefaultPublishAuthModeArgs.builder() .authType("AWS_LAMBDA") .build()) .defaultSubscribeAuthModes(ApiEventConfigDefaultSubscribeAuthModeArgs.builder() .authType("AWS_LAMBDA") .build()) .build()) .name("example-event-api") .build()); } }
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description com.pulumi.core.Output<java.lang.String>apiArn()com.pulumi.core.Output<java.lang.String>apiId()com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>>dns()com.pulumi.core.Output<ApiEventConfig>eventConfig()static Apiget(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, ApiState 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<java.lang.String>name()com.pulumi.core.Output<java.util.Optional<java.lang.String>>ownerContact()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>wafWebAclArn()com.pulumi.core.Output<java.lang.Boolean>xrayEnabled()
-
-
-
Constructor Detail
-
Api
public Api(java.lang.String name)
- Parameters:
name- The _unique_ name of the resulting resource.
-
Api
public Api(java.lang.String name, ApiArgs args)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.
-
Api
public Api(java.lang.String name, ApiArgs 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
-
apiArn
public com.pulumi.core.Output<java.lang.String> apiArn()
- Returns:
- ARN of the Event API.
-
apiId
public com.pulumi.core.Output<java.lang.String> apiId()
- Returns:
- ID of the Event API.
-
dns
public com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>> dns()
- Returns:
- DNS configuration for the Event API.
-
eventConfig
public com.pulumi.core.Output<ApiEventConfig> eventConfig()
- Returns:
- Configuration for the Event API. See `eventConfig` Block below.
-
name
public com.pulumi.core.Output<java.lang.String> name()
- Returns:
- Name of the Event API. The following arguments are optional:
-
ownerContact
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> ownerContact()
- Returns:
- Contact information for the owner of the Event API.
-
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:
- Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
-
tagsAll
public com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>> tagsAll()
- Returns:
- Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
-
wafWebAclArn
public com.pulumi.core.Output<java.lang.String> wafWebAclArn()
- Returns:
- ARN of the associated WAF web ACL.
-
xrayEnabled
public com.pulumi.core.Output<java.lang.Boolean> xrayEnabled()
- Returns:
- Whether X-Ray tracing is enabled for the Event API.
-
get
public static Api get(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, @Nullable ApiState 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.
-
-