get User Pools
Use this data source to get a list of cognito user pools.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const selected = aws.apigateway.getRestApi({
name: apiGatewayName,
});
const selectedGetUserPools = aws.cognito.getUserPools({
name: cognitoUserPoolName,
});
const cognito = new aws.apigateway.Authorizer("cognito", {
name: "cognito",
type: "COGNITO_USER_POOLS",
restApi: selected.then(selected => selected.id),
providerArns: selectedGetUserPools.then(selectedGetUserPools => selectedGetUserPools.arns),
});
Content copied to clipboard
import pulumi
import pulumi_aws as aws
selected = aws.apigateway.get_rest_api(name=api_gateway_name)
selected_get_user_pools = aws.cognito.get_user_pools(name=cognito_user_pool_name)
cognito = aws.apigateway.Authorizer("cognito",
name="cognito",
type="COGNITO_USER_POOLS",
rest_api=selected.id,
provider_arns=selected_get_user_pools.arns)
Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var selected = Aws.ApiGateway.GetRestApi.Invoke(new()
{
Name = apiGatewayName,
});
var selectedGetUserPools = Aws.Cognito.GetUserPools.Invoke(new()
{
Name = cognitoUserPoolName,
});
var cognito = new Aws.ApiGateway.Authorizer("cognito", new()
{
Name = "cognito",
Type = "COGNITO_USER_POOLS",
RestApi = selected.Apply(getRestApiResult => getRestApiResult.Id),
ProviderArns = selectedGetUserPools.Apply(getUserPoolsResult => getUserPoolsResult.Arns),
});
});
Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cognito"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
selected, err := apigateway.LookupRestApi(ctx, &apigateway.LookupRestApiArgs{
Name: apiGatewayName,
}, nil)
if err != nil {
return err
}
selectedGetUserPools, err := cognito.GetUserPools(ctx, &cognito.GetUserPoolsArgs{
Name: cognitoUserPoolName,
}, nil)
if err != nil {
return err
}
_, err = apigateway.NewAuthorizer(ctx, "cognito", &apigateway.AuthorizerArgs{
Name: pulumi.String("cognito"),
Type: pulumi.String("COGNITO_USER_POOLS"),
RestApi: pulumi.String(selected.Id),
ProviderArns: interface{}(selectedGetUserPools.Arns),
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.apigateway.ApigatewayFunctions;
import com.pulumi.aws.apigateway.inputs.GetRestApiArgs;
import com.pulumi.aws.cognito.CognitoFunctions;
import com.pulumi.aws.cognito.inputs.GetUserPoolsArgs;
import com.pulumi.aws.apigateway.Authorizer;
import com.pulumi.aws.apigateway.AuthorizerArgs;
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 selected = ApigatewayFunctions.getRestApi(GetRestApiArgs.builder()
.name(apiGatewayName)
.build());
final var selectedGetUserPools = CognitoFunctions.getUserPools(GetUserPoolsArgs.builder()
.name(cognitoUserPoolName)
.build());
var cognito = new Authorizer("cognito", AuthorizerArgs.builder()
.name("cognito")
.type("COGNITO_USER_POOLS")
.restApi(selected.id())
.providerArns(selectedGetUserPools.arns())
.build());
}
}
Content copied to clipboard
resources:
cognito:
type: aws:apigateway:Authorizer
properties:
name: cognito
type: COGNITO_USER_POOLS
restApi: ${selected.id}
providerArns: ${selectedGetUserPools.arns}
variables:
selected:
fn::invoke:
function: aws:apigateway:getRestApi
arguments:
name: ${apiGatewayName}
selectedGetUserPools:
fn::invoke:
function: aws:cognito:getUserPools
arguments:
name: ${cognitoUserPoolName}
Content copied to clipboard
Return
A collection of values returned by getUserPools.
Parameters
argument
A collection of arguments for invoking getUserPools.
Parameters
name
Name of the cognito user pools. Name is not a unique attribute for cognito user pool, so multiple pools might be returned with given name. If the pool name is expected to be unique, you can reference the pool id via ``tolist(data.aws_cognito_user_pools.selected.ids)[0]``
@return A collection of values returned by getUserPools.
See also
suspend fun getUserPools(argument: suspend GetUserPoolsPlainArgsBuilder.() -> Unit): GetUserPoolsResult
Return
A collection of values returned by getUserPools.
Parameters
argument
Builder for com.pulumi.aws.cognito.kotlin.inputs.GetUserPoolsPlainArgs.