OauthClientArgs

data class OauthClientArgs(val allowedGrantTypes: Output<List<String>>? = null, val allowedRedirectUris: Output<List<String>>? = null, val allowedScopes: Output<List<String>>? = null, val clientType: Output<String>? = null, val description: Output<String>? = null, val disabled: Output<Boolean>? = null, val displayName: Output<String>? = null, val location: Output<String>? = null, val oauthClientId: Output<String>? = null, val project: Output<String>? = null) : ConvertibleToJava<OauthClientArgs>

Represents an OAuth Client. Used to access Google Cloud resources on behalf of a Workforce Identity Federation user by using OAuth 2.0 Protocol to obtain an access token from Google Cloud. To get more information about OauthClient, see:

Example Usage

Iam Oauth Client Full

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const example = new gcp.iam.OauthClient("example", {
oauthClientId: "example-client-id",
displayName: "Display Name of OAuth client",
description: "A sample OAuth client",
location: "global",
disabled: false,
allowedGrantTypes: ["AUTHORIZATION_CODE_GRANT"],
allowedRedirectUris: ["https://www&#46;example&#46;com"],
allowedScopes: ["https://www&#46;googleapis&#46;com/auth/cloud-platform"],
clientType: "CONFIDENTIAL_CLIENT",
});
import pulumi
import pulumi_gcp as gcp
example = gcp.iam.OauthClient("example",
oauth_client_id="example-client-id",
display_name="Display Name of OAuth client",
description="A sample OAuth client",
location="global",
disabled=False,
allowed_grant_types=["AUTHORIZATION_CODE_GRANT"],
allowed_redirect_uris=["https://www&#46;example&#46;com"],
allowed_scopes=["https://www&#46;googleapis&#46;com/auth/cloud-platform"],
client_type="CONFIDENTIAL_CLIENT")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var example = new Gcp.Iam.OauthClient("example", new()
{
OauthClientId = "example-client-id",
DisplayName = "Display Name of OAuth client",
Description = "A sample OAuth client",
Location = "global",
Disabled = false,
AllowedGrantTypes = new[]
{
"AUTHORIZATION_CODE_GRANT",
},
AllowedRedirectUris = new[]
{
"https://www.example.com",
},
AllowedScopes = new[]
{
"https://www.googleapis.com/auth/cloud-platform",
},
ClientType = "CONFIDENTIAL_CLIENT",
});
});
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/iam"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := iam.NewOauthClient(ctx, "example", &iam.OauthClientArgs{
OauthClientId: pulumi.String("example-client-id"),
DisplayName: pulumi.String("Display Name of OAuth client"),
Description: pulumi.String("A sample OAuth client"),
Location: pulumi.String("global"),
Disabled: pulumi.Bool(false),
AllowedGrantTypes: pulumi.StringArray{
pulumi.String("AUTHORIZATION_CODE_GRANT"),
},
AllowedRedirectUris: pulumi.StringArray{
pulumi.String("https://www.example.com"),
},
AllowedScopes: pulumi.StringArray{
pulumi.String("https://www.googleapis.com/auth/cloud-platform"),
},
ClientType: pulumi.String("CONFIDENTIAL_CLIENT"),
})
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.gcp.iam.OauthClient;
import com.pulumi.gcp.iam.OauthClientArgs;
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) {
var example = new OauthClient("example", OauthClientArgs.builder()
.oauthClientId("example-client-id")
.displayName("Display Name of OAuth client")
.description("A sample OAuth client")
.location("global")
.disabled(false)
.allowedGrantTypes("AUTHORIZATION_CODE_GRANT")
.allowedRedirectUris("https://www.example.com")
.allowedScopes("https://www.googleapis.com/auth/cloud-platform")
.clientType("CONFIDENTIAL_CLIENT")
.build());
}
}
resources:
example:
type: gcp:iam:OauthClient
properties:
oauthClientId: example-client-id
displayName: Display Name of OAuth client
description: A sample OAuth client
location: global
disabled: false
allowedGrantTypes:
- AUTHORIZATION_CODE_GRANT
allowedRedirectUris:
- https://www.example.com
allowedScopes:
- https://www.googleapis.com/auth/cloud-platform
clientType: CONFIDENTIAL_CLIENT

Import

OauthClient can be imported using any of these accepted formats:

  • projects/{{project}}/locations/{{location}}/oauthClients/{{oauth_client_id}}

  • {{project}}/{{location}}/{{oauth_client_id}}

  • {{location}}/{{oauth_client_id}} When using the pulumi import command, OauthClient can be imported using one of the formats above. For example:

$ pulumi import gcp:iam/oauthClient:OauthClient default projects/{{project}}/locations/{{location}}/oauthClients/{{oauth_client_id}}
$ pulumi import gcp:iam/oauthClient:OauthClient default {{project}}/{{location}}/{{oauth_client_id}}
$ pulumi import gcp:iam/oauthClient:OauthClient default {{location}}/{{oauth_client_id}}

Constructors

Link copied to clipboard
constructor(allowedGrantTypes: Output<List<String>>? = null, allowedRedirectUris: Output<List<String>>? = null, allowedScopes: Output<List<String>>? = null, clientType: Output<String>? = null, description: Output<String>? = null, disabled: Output<Boolean>? = null, displayName: Output<String>? = null, location: Output<String>? = null, oauthClientId: Output<String>? = null, project: Output<String>? = null)

Properties

Link copied to clipboard
val allowedGrantTypes: Output<List<String>>? = null

Required. The list of OAuth grant types is allowed for the OauthClient.

Link copied to clipboard
val allowedRedirectUris: Output<List<String>>? = null

Required. The list of redirect uris that is allowed to redirect back when authorization process is completed.

Link copied to clipboard
val allowedScopes: Output<List<String>>? = null

Required. The list of scopes that the OauthClient is allowed to request during OAuth flows. The following scopes are supported:

Link copied to clipboard
val clientType: Output<String>? = null

Immutable. The type of OauthClient. Either public or private. For private clients, the client secret can be managed using the dedicated OauthClientCredential resource. Possible values: CLIENT_TYPE_UNSPECIFIED PUBLIC_CLIENT CONFIDENTIAL_CLIENT

Link copied to clipboard
val description: Output<String>? = null

A user-specified description of the OauthClient. Cannot exceed 256 characters.

Link copied to clipboard
val disabled: Output<Boolean>? = null

Whether the OauthClient is disabled. You cannot use a disabled OAuth client.

Link copied to clipboard
val displayName: Output<String>? = null

A user-specified display name of the OauthClient. Cannot exceed 32 characters.

Link copied to clipboard
val location: Output<String>? = null

Resource ID segment making up resource name. It identifies the resource within its parent collection as described in https://google.aip.dev/122.

Link copied to clipboard
val oauthClientId: Output<String>? = null

Required. The ID to use for the OauthClient, which becomes the final component of the resource name. This value should be a string of 6 to 63 lowercase letters, digits, or hyphens. It must start with a letter, and cannot have a trailing hyphen. The prefix gcp- is reserved for use by Google, and may not be specified.

Link copied to clipboard
val project: Output<String>? = null

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

Functions

Link copied to clipboard
open override fun toJava(): OauthClientArgs