UNPKG

@pulumi/vault

Version:

A Pulumi package for creating and managing HashiCorp Vault cloud resources.

332 lines (331 loc) 12.3 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Provides a resource for managing an * [Okta auth backend within Vault](https://www.vaultproject.io/docs/auth/okta.html). * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as vault from "@pulumi/vault"; * * const example = new vault.okta.AuthBackend("example", { * description: "Demonstration of the Terraform Okta auth backend", * organization: "example", * token: "something that should be kept secret", * groups: [{ * groupName: "foo", * policies: [ * "one", * "two", * ], * }], * users: [{ * username: "bar", * groups: ["foo"], * }], * }); * ``` * * ## Import * * Okta authentication backends can be imported using its `path`, e.g. * * ```sh * $ pulumi import vault:okta/authBackend:AuthBackend example okta * ``` */ export declare class AuthBackend extends pulumi.CustomResource { /** * Get an existing AuthBackend resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: AuthBackendState, opts?: pulumi.CustomResourceOptions): AuthBackend; /** * Returns true if the given object is an instance of AuthBackend. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is AuthBackend; /** * The mount accessor related to the auth mount. It is useful for integration with [Identity Secrets Engine](https://www.vaultproject.io/docs/secrets/identity/index.html). */ readonly accessor: pulumi.Output<string>; /** * The Okta url. Examples: oktapreview.com, okta.com */ readonly baseUrl: pulumi.Output<string | undefined>; /** * When true, requests by Okta for a MFA check will be bypassed. This also disallows certain status checks on the account, such as whether the password is expired. */ readonly bypassOktaMfa: pulumi.Output<boolean | undefined>; /** * The description of the auth backend */ readonly description: pulumi.Output<string | undefined>; /** * If set, opts out of mount migration on path updates. * See here for more info on [Mount Migration](https://www.vaultproject.io/docs/concepts/mount-migration) */ readonly disableRemount: pulumi.Output<boolean | undefined>; /** * Associate Okta groups with policies within Vault. * See below for more details. */ readonly groups: pulumi.Output<outputs.okta.AuthBackendGroup[]>; /** * The namespace to provision the resource in. * The value should not contain leading or trailing forward slashes. * The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace). * *Available only for Vault Enterprise*. */ readonly namespace: pulumi.Output<string | undefined>; /** * The Okta organization. This will be the first part of the url `https://XXX.okta.com` */ readonly organization: pulumi.Output<string>; /** * Path to mount the Okta auth backend. Default to path `okta`. */ readonly path: pulumi.Output<string | undefined>; /** * The Okta API token. This is required to query Okta for user group membership. * If this is not supplied only locally configured groups will be enabled. */ readonly token: pulumi.Output<string | undefined>; /** * Specifies the blocks of IP addresses which are allowed to use the generated token */ readonly tokenBoundCidrs: pulumi.Output<string[] | undefined>; /** * Generated Token's Explicit Maximum TTL in seconds */ readonly tokenExplicitMaxTtl: pulumi.Output<number | undefined>; /** * The maximum lifetime of the generated token */ readonly tokenMaxTtl: pulumi.Output<number | undefined>; /** * If true, the 'default' policy will not automatically be added to generated tokens */ readonly tokenNoDefaultPolicy: pulumi.Output<boolean | undefined>; /** * The maximum number of times a token may be used, a value of zero means unlimited */ readonly tokenNumUses: pulumi.Output<number | undefined>; /** * Generated Token's Period */ readonly tokenPeriod: pulumi.Output<number | undefined>; /** * Generated Token's Policies */ readonly tokenPolicies: pulumi.Output<string[] | undefined>; /** * The initial ttl of the token to generate in seconds */ readonly tokenTtl: pulumi.Output<number | undefined>; /** * The type of token to generate, service or batch */ readonly tokenType: pulumi.Output<string | undefined>; /** * Associate Okta users with groups or policies within Vault. * See below for more details. */ readonly users: pulumi.Output<outputs.okta.AuthBackendUser[]>; /** * Create a AuthBackend resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: AuthBackendArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering AuthBackend resources. */ export interface AuthBackendState { /** * The mount accessor related to the auth mount. It is useful for integration with [Identity Secrets Engine](https://www.vaultproject.io/docs/secrets/identity/index.html). */ accessor?: pulumi.Input<string>; /** * The Okta url. Examples: oktapreview.com, okta.com */ baseUrl?: pulumi.Input<string>; /** * When true, requests by Okta for a MFA check will be bypassed. This also disallows certain status checks on the account, such as whether the password is expired. */ bypassOktaMfa?: pulumi.Input<boolean>; /** * The description of the auth backend */ description?: pulumi.Input<string>; /** * If set, opts out of mount migration on path updates. * See here for more info on [Mount Migration](https://www.vaultproject.io/docs/concepts/mount-migration) */ disableRemount?: pulumi.Input<boolean>; /** * Associate Okta groups with policies within Vault. * See below for more details. */ groups?: pulumi.Input<pulumi.Input<inputs.okta.AuthBackendGroup>[]>; /** * The namespace to provision the resource in. * The value should not contain leading or trailing forward slashes. * The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace). * *Available only for Vault Enterprise*. */ namespace?: pulumi.Input<string>; /** * The Okta organization. This will be the first part of the url `https://XXX.okta.com` */ organization?: pulumi.Input<string>; /** * Path to mount the Okta auth backend. Default to path `okta`. */ path?: pulumi.Input<string>; /** * The Okta API token. This is required to query Okta for user group membership. * If this is not supplied only locally configured groups will be enabled. */ token?: pulumi.Input<string>; /** * Specifies the blocks of IP addresses which are allowed to use the generated token */ tokenBoundCidrs?: pulumi.Input<pulumi.Input<string>[]>; /** * Generated Token's Explicit Maximum TTL in seconds */ tokenExplicitMaxTtl?: pulumi.Input<number>; /** * The maximum lifetime of the generated token */ tokenMaxTtl?: pulumi.Input<number>; /** * If true, the 'default' policy will not automatically be added to generated tokens */ tokenNoDefaultPolicy?: pulumi.Input<boolean>; /** * The maximum number of times a token may be used, a value of zero means unlimited */ tokenNumUses?: pulumi.Input<number>; /** * Generated Token's Period */ tokenPeriod?: pulumi.Input<number>; /** * Generated Token's Policies */ tokenPolicies?: pulumi.Input<pulumi.Input<string>[]>; /** * The initial ttl of the token to generate in seconds */ tokenTtl?: pulumi.Input<number>; /** * The type of token to generate, service or batch */ tokenType?: pulumi.Input<string>; /** * Associate Okta users with groups or policies within Vault. * See below for more details. */ users?: pulumi.Input<pulumi.Input<inputs.okta.AuthBackendUser>[]>; } /** * The set of arguments for constructing a AuthBackend resource. */ export interface AuthBackendArgs { /** * The Okta url. Examples: oktapreview.com, okta.com */ baseUrl?: pulumi.Input<string>; /** * When true, requests by Okta for a MFA check will be bypassed. This also disallows certain status checks on the account, such as whether the password is expired. */ bypassOktaMfa?: pulumi.Input<boolean>; /** * The description of the auth backend */ description?: pulumi.Input<string>; /** * If set, opts out of mount migration on path updates. * See here for more info on [Mount Migration](https://www.vaultproject.io/docs/concepts/mount-migration) */ disableRemount?: pulumi.Input<boolean>; /** * Associate Okta groups with policies within Vault. * See below for more details. */ groups?: pulumi.Input<pulumi.Input<inputs.okta.AuthBackendGroup>[]>; /** * The namespace to provision the resource in. * The value should not contain leading or trailing forward slashes. * The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace). * *Available only for Vault Enterprise*. */ namespace?: pulumi.Input<string>; /** * The Okta organization. This will be the first part of the url `https://XXX.okta.com` */ organization: pulumi.Input<string>; /** * Path to mount the Okta auth backend. Default to path `okta`. */ path?: pulumi.Input<string>; /** * The Okta API token. This is required to query Okta for user group membership. * If this is not supplied only locally configured groups will be enabled. */ token?: pulumi.Input<string>; /** * Specifies the blocks of IP addresses which are allowed to use the generated token */ tokenBoundCidrs?: pulumi.Input<pulumi.Input<string>[]>; /** * Generated Token's Explicit Maximum TTL in seconds */ tokenExplicitMaxTtl?: pulumi.Input<number>; /** * The maximum lifetime of the generated token */ tokenMaxTtl?: pulumi.Input<number>; /** * If true, the 'default' policy will not automatically be added to generated tokens */ tokenNoDefaultPolicy?: pulumi.Input<boolean>; /** * The maximum number of times a token may be used, a value of zero means unlimited */ tokenNumUses?: pulumi.Input<number>; /** * Generated Token's Period */ tokenPeriod?: pulumi.Input<number>; /** * Generated Token's Policies */ tokenPolicies?: pulumi.Input<pulumi.Input<string>[]>; /** * The initial ttl of the token to generate in seconds */ tokenTtl?: pulumi.Input<number>; /** * The type of token to generate, service or batch */ tokenType?: pulumi.Input<string>; /** * Associate Okta users with groups or policies within Vault. * See below for more details. */ users?: pulumi.Input<pulumi.Input<inputs.okta.AuthBackendUser>[]>; }