vault.generic.Endpoint
Explore with Pulumi AI
Required Vault Capabilities
Use of this resource requires the create
or update
capability
(depending on whether the resource already exists) on the given path. If
disable_delete
is false, the delete
capability is also required. If
disable_read
is false, the read
capability is required.
Example Usage
using System.Collections.Generic;
using Pulumi;
using Vault = Pulumi.Vault;
return await Deployment.RunAsync(() =>
{
var userpass = new Vault.AuthBackend("userpass", new()
{
Type = "userpass",
});
var u1 = new Vault.Generic.Endpoint("u1", new()
{
Path = "auth/userpass/users/u1",
IgnoreAbsentFields = true,
DataJson = @"{
""policies"": [""p1""],
""password"": ""changeme""
}
",
}, new CustomResourceOptions
{
DependsOn = new[]
{
userpass,
},
});
var u1Token = new Vault.Generic.Endpoint("u1Token", new()
{
Path = "auth/userpass/login/u1",
DisableRead = true,
DisableDelete = true,
DataJson = @"{
""password"": ""changeme""
}
",
}, new CustomResourceOptions
{
DependsOn = new[]
{
u1,
},
});
var u1Entity = new Vault.Generic.Endpoint("u1Entity", new()
{
DisableRead = true,
DisableDelete = true,
Path = "identity/lookup/entity",
IgnoreAbsentFields = true,
WriteFields = new[]
{
"id",
},
DataJson = @"{
""alias_name"": ""u1"",
""alias_mount_accessor"": vault_auth_backend.userpass.accessor
}
",
}, new CustomResourceOptions
{
DependsOn = new[]
{
u1Token,
},
});
return new Dictionary<string, object?>
{
["u1Id"] = u1Entity.WriteData.Apply(writeData => writeData.Id),
};
});
package main
import (
"github.com/pulumi/pulumi-vault/sdk/v5/go/vault"
"github.com/pulumi/pulumi-vault/sdk/v5/go/vault/generic"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
userpass, err := vault.NewAuthBackend(ctx, "userpass", &vault.AuthBackendArgs{
Type: pulumi.String("userpass"),
})
if err != nil {
return err
}
u1, err := generic.NewEndpoint(ctx, "u1", &generic.EndpointArgs{
Path: pulumi.String("auth/userpass/users/u1"),
IgnoreAbsentFields: pulumi.Bool(true),
DataJson: pulumi.String("{\n \"policies\": [\"p1\"],\n \"password\": \"changeme\"\n}\n"),
}, pulumi.DependsOn([]pulumi.Resource{
userpass,
}))
if err != nil {
return err
}
u1Token, err := generic.NewEndpoint(ctx, "u1Token", &generic.EndpointArgs{
Path: pulumi.String("auth/userpass/login/u1"),
DisableRead: pulumi.Bool(true),
DisableDelete: pulumi.Bool(true),
DataJson: pulumi.String("{\n \"password\": \"changeme\"\n}\n"),
}, pulumi.DependsOn([]pulumi.Resource{
u1,
}))
if err != nil {
return err
}
u1Entity, err := generic.NewEndpoint(ctx, "u1Entity", &generic.EndpointArgs{
DisableRead: pulumi.Bool(true),
DisableDelete: pulumi.Bool(true),
Path: pulumi.String("identity/lookup/entity"),
IgnoreAbsentFields: pulumi.Bool(true),
WriteFields: pulumi.StringArray{
pulumi.String("id"),
},
DataJson: pulumi.String("{\n \"alias_name\": \"u1\",\n \"alias_mount_accessor\": vault_auth_backend.userpass.accessor\n}\n"),
}, pulumi.DependsOn([]pulumi.Resource{
u1Token,
}))
if err != nil {
return err
}
ctx.Export("u1Id", u1Entity.WriteData.ApplyT(func(writeData map[string]string) (string, error) {
return writeData.Id, nil
}).(pulumi.StringOutput))
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.vault.AuthBackend;
import com.pulumi.vault.AuthBackendArgs;
import com.pulumi.vault.generic.Endpoint;
import com.pulumi.vault.generic.EndpointArgs;
import com.pulumi.resources.CustomResourceOptions;
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 userpass = new AuthBackend("userpass", AuthBackendArgs.builder()
.type("userpass")
.build());
var u1 = new Endpoint("u1", EndpointArgs.builder()
.path("auth/userpass/users/u1")
.ignoreAbsentFields(true)
.dataJson("""
{
"policies": ["p1"],
"password": "changeme"
}
""")
.build(), CustomResourceOptions.builder()
.dependsOn(userpass)
.build());
var u1Token = new Endpoint("u1Token", EndpointArgs.builder()
.path("auth/userpass/login/u1")
.disableRead(true)
.disableDelete(true)
.dataJson("""
{
"password": "changeme"
}
""")
.build(), CustomResourceOptions.builder()
.dependsOn(u1)
.build());
var u1Entity = new Endpoint("u1Entity", EndpointArgs.builder()
.disableRead(true)
.disableDelete(true)
.path("identity/lookup/entity")
.ignoreAbsentFields(true)
.writeFields("id")
.dataJson("""
{
"alias_name": "u1",
"alias_mount_accessor": vault_auth_backend.userpass.accessor
}
""")
.build(), CustomResourceOptions.builder()
.dependsOn(u1Token)
.build());
ctx.export("u1Id", u1Entity.writeData().applyValue(writeData -> writeData.id()));
}
}
Coming soon!
import * as pulumi from "@pulumi/pulumi";
import * as vault from "@pulumi/vault";
const userpass = new vault.AuthBackend("userpass", {type: "userpass"});
const u1 = new vault.generic.Endpoint("u1", {
path: "auth/userpass/users/u1",
ignoreAbsentFields: true,
dataJson: `{
"policies": ["p1"],
"password": "changeme"
}
`,
}, {
dependsOn: [userpass],
});
const u1Token = new vault.generic.Endpoint("u1Token", {
path: "auth/userpass/login/u1",
disableRead: true,
disableDelete: true,
dataJson: `{
"password": "changeme"
}
`,
}, {
dependsOn: [u1],
});
const u1Entity = new vault.generic.Endpoint("u1Entity", {
disableRead: true,
disableDelete: true,
path: "identity/lookup/entity",
ignoreAbsentFields: true,
writeFields: ["id"],
dataJson: `{
"alias_name": "u1",
"alias_mount_accessor": vault_auth_backend.userpass.accessor
}
`,
}, {
dependsOn: [u1Token],
});
export const u1Id = u1Entity.writeData.id;
resources:
userpass:
type: vault:AuthBackend
properties:
type: userpass
u1:
type: vault:generic:Endpoint
properties:
path: auth/userpass/users/u1
ignoreAbsentFields: true
dataJson: |
{
"policies": ["p1"],
"password": "changeme"
}
options:
dependson:
- ${userpass}
u1Token:
type: vault:generic:Endpoint
properties:
path: auth/userpass/login/u1
disableRead: true
disableDelete: true
dataJson: |
{
"password": "changeme"
}
options:
dependson:
- ${u1}
u1Entity:
type: vault:generic:Endpoint
properties:
disableRead: true
disableDelete: true
path: identity/lookup/entity
ignoreAbsentFields: true
writeFields:
- id
dataJson: |
{
"alias_name": "u1",
"alias_mount_accessor": vault_auth_backend.userpass.accessor
}
options:
dependson:
- ${u1Token}
outputs:
u1Id: ${u1Entity.writeData.id}
Create Endpoint Resource
new Endpoint(name: string, args: EndpointArgs, opts?: CustomResourceOptions);
@overload
def Endpoint(resource_name: str,
opts: Optional[ResourceOptions] = None,
data_json: Optional[str] = None,
disable_delete: Optional[bool] = None,
disable_read: Optional[bool] = None,
ignore_absent_fields: Optional[bool] = None,
namespace: Optional[str] = None,
path: Optional[str] = None,
write_fields: Optional[Sequence[str]] = None)
@overload
def Endpoint(resource_name: str,
args: EndpointArgs,
opts: Optional[ResourceOptions] = None)
func NewEndpoint(ctx *Context, name string, args EndpointArgs, opts ...ResourceOption) (*Endpoint, error)
public Endpoint(string name, EndpointArgs args, CustomResourceOptions? opts = null)
public Endpoint(String name, EndpointArgs args)
public Endpoint(String name, EndpointArgs args, CustomResourceOptions options)
type: vault:generic:Endpoint
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args EndpointArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args EndpointArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args EndpointArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args EndpointArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args EndpointArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Endpoint Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
The Endpoint resource accepts the following input properties:
- Data
Json string String containing a JSON-encoded object that will be written to the given path as the secret data.
- Path string
The full logical path at which to write the given data. Consult each backend's documentation to see which endpoints support the
PUT
methods and to determine whether they also supportDELETE
andGET
.- Disable
Delete bool Don't attempt to delete the path from Vault if true
- Disable
Read bool True/false. Set this to true if your vault authentication is not able to read the data or if the endpoint does not support the
GET
method. Setting this totrue
will break drift detection. You should set this totrue
for endpoints that are write-only. Defaults to false.- Ignore
Absent boolFields When reading, disregard fields not present in data_json
- Namespace string
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. Available only for Vault Enterprise.- Write
Fields List<string> Top-level fields returned by write to persist in state
- Data
Json string String containing a JSON-encoded object that will be written to the given path as the secret data.
- Path string
The full logical path at which to write the given data. Consult each backend's documentation to see which endpoints support the
PUT
methods and to determine whether they also supportDELETE
andGET
.- Disable
Delete bool Don't attempt to delete the path from Vault if true
- Disable
Read bool True/false. Set this to true if your vault authentication is not able to read the data or if the endpoint does not support the
GET
method. Setting this totrue
will break drift detection. You should set this totrue
for endpoints that are write-only. Defaults to false.- Ignore
Absent boolFields When reading, disregard fields not present in data_json
- Namespace string
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. Available only for Vault Enterprise.- Write
Fields []string Top-level fields returned by write to persist in state
- data
Json String String containing a JSON-encoded object that will be written to the given path as the secret data.
- path String
The full logical path at which to write the given data. Consult each backend's documentation to see which endpoints support the
PUT
methods and to determine whether they also supportDELETE
andGET
.- disable
Delete Boolean Don't attempt to delete the path from Vault if true
- disable
Read Boolean True/false. Set this to true if your vault authentication is not able to read the data or if the endpoint does not support the
GET
method. Setting this totrue
will break drift detection. You should set this totrue
for endpoints that are write-only. Defaults to false.- ignore
Absent BooleanFields When reading, disregard fields not present in data_json
- namespace String
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. Available only for Vault Enterprise.- write
Fields List<String> Top-level fields returned by write to persist in state
- data
Json string String containing a JSON-encoded object that will be written to the given path as the secret data.
- path string
The full logical path at which to write the given data. Consult each backend's documentation to see which endpoints support the
PUT
methods and to determine whether they also supportDELETE
andGET
.- disable
Delete boolean Don't attempt to delete the path from Vault if true
- disable
Read boolean True/false. Set this to true if your vault authentication is not able to read the data or if the endpoint does not support the
GET
method. Setting this totrue
will break drift detection. You should set this totrue
for endpoints that are write-only. Defaults to false.- ignore
Absent booleanFields When reading, disregard fields not present in data_json
- namespace string
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. Available only for Vault Enterprise.- write
Fields string[] Top-level fields returned by write to persist in state
- data_
json str String containing a JSON-encoded object that will be written to the given path as the secret data.
- path str
The full logical path at which to write the given data. Consult each backend's documentation to see which endpoints support the
PUT
methods and to determine whether they also supportDELETE
andGET
.- disable_
delete bool Don't attempt to delete the path from Vault if true
- disable_
read bool True/false. Set this to true if your vault authentication is not able to read the data or if the endpoint does not support the
GET
method. Setting this totrue
will break drift detection. You should set this totrue
for endpoints that are write-only. Defaults to false.- ignore_
absent_ boolfields When reading, disregard fields not present in data_json
- namespace str
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. Available only for Vault Enterprise.- write_
fields Sequence[str] Top-level fields returned by write to persist in state
- data
Json String String containing a JSON-encoded object that will be written to the given path as the secret data.
- path String
The full logical path at which to write the given data. Consult each backend's documentation to see which endpoints support the
PUT
methods and to determine whether they also supportDELETE
andGET
.- disable
Delete Boolean Don't attempt to delete the path from Vault if true
- disable
Read Boolean True/false. Set this to true if your vault authentication is not able to read the data or if the endpoint does not support the
GET
method. Setting this totrue
will break drift detection. You should set this totrue
for endpoints that are write-only. Defaults to false.- ignore
Absent BooleanFields When reading, disregard fields not present in data_json
- namespace String
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. Available only for Vault Enterprise.- write
Fields List<String> Top-level fields returned by write to persist in state
Outputs
All input properties are implicitly available as output properties. Additionally, the Endpoint resource produces the following output properties:
- Id string
The provider-assigned unique ID for this managed resource.
- Write
Data Dictionary<string, string> Map of strings returned by write operation
- Write
Data stringJson JSON data returned by write operation
- Id string
The provider-assigned unique ID for this managed resource.
- Write
Data map[string]string Map of strings returned by write operation
- Write
Data stringJson JSON data returned by write operation
- id String
The provider-assigned unique ID for this managed resource.
- write
Data Map<String,String> Map of strings returned by write operation
- write
Data StringJson JSON data returned by write operation
- id string
The provider-assigned unique ID for this managed resource.
- write
Data {[key: string]: string} Map of strings returned by write operation
- write
Data stringJson JSON data returned by write operation
- id str
The provider-assigned unique ID for this managed resource.
- write_
data Mapping[str, str] Map of strings returned by write operation
- write_
data_ strjson JSON data returned by write operation
- id String
The provider-assigned unique ID for this managed resource.
- write
Data Map<String> Map of strings returned by write operation
- write
Data StringJson JSON data returned by write operation
Look up Existing Endpoint Resource
Get an existing Endpoint resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: EndpointState, opts?: CustomResourceOptions): Endpoint
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
data_json: Optional[str] = None,
disable_delete: Optional[bool] = None,
disable_read: Optional[bool] = None,
ignore_absent_fields: Optional[bool] = None,
namespace: Optional[str] = None,
path: Optional[str] = None,
write_data: Optional[Mapping[str, str]] = None,
write_data_json: Optional[str] = None,
write_fields: Optional[Sequence[str]] = None) -> Endpoint
func GetEndpoint(ctx *Context, name string, id IDInput, state *EndpointState, opts ...ResourceOption) (*Endpoint, error)
public static Endpoint Get(string name, Input<string> id, EndpointState? state, CustomResourceOptions? opts = null)
public static Endpoint get(String name, Output<String> id, EndpointState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Data
Json string String containing a JSON-encoded object that will be written to the given path as the secret data.
- Disable
Delete bool Don't attempt to delete the path from Vault if true
- Disable
Read bool True/false. Set this to true if your vault authentication is not able to read the data or if the endpoint does not support the
GET
method. Setting this totrue
will break drift detection. You should set this totrue
for endpoints that are write-only. Defaults to false.- Ignore
Absent boolFields When reading, disregard fields not present in data_json
- Namespace string
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. Available only for Vault Enterprise.- Path string
The full logical path at which to write the given data. Consult each backend's documentation to see which endpoints support the
PUT
methods and to determine whether they also supportDELETE
andGET
.- Write
Data Dictionary<string, string> Map of strings returned by write operation
- Write
Data stringJson JSON data returned by write operation
- Write
Fields List<string> Top-level fields returned by write to persist in state
- Data
Json string String containing a JSON-encoded object that will be written to the given path as the secret data.
- Disable
Delete bool Don't attempt to delete the path from Vault if true
- Disable
Read bool True/false. Set this to true if your vault authentication is not able to read the data or if the endpoint does not support the
GET
method. Setting this totrue
will break drift detection. You should set this totrue
for endpoints that are write-only. Defaults to false.- Ignore
Absent boolFields When reading, disregard fields not present in data_json
- Namespace string
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. Available only for Vault Enterprise.- Path string
The full logical path at which to write the given data. Consult each backend's documentation to see which endpoints support the
PUT
methods and to determine whether they also supportDELETE
andGET
.- Write
Data map[string]string Map of strings returned by write operation
- Write
Data stringJson JSON data returned by write operation
- Write
Fields []string Top-level fields returned by write to persist in state
- data
Json String String containing a JSON-encoded object that will be written to the given path as the secret data.
- disable
Delete Boolean Don't attempt to delete the path from Vault if true
- disable
Read Boolean True/false. Set this to true if your vault authentication is not able to read the data or if the endpoint does not support the
GET
method. Setting this totrue
will break drift detection. You should set this totrue
for endpoints that are write-only. Defaults to false.- ignore
Absent BooleanFields When reading, disregard fields not present in data_json
- namespace String
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. Available only for Vault Enterprise.- path String
The full logical path at which to write the given data. Consult each backend's documentation to see which endpoints support the
PUT
methods and to determine whether they also supportDELETE
andGET
.- write
Data Map<String,String> Map of strings returned by write operation
- write
Data StringJson JSON data returned by write operation
- write
Fields List<String> Top-level fields returned by write to persist in state
- data
Json string String containing a JSON-encoded object that will be written to the given path as the secret data.
- disable
Delete boolean Don't attempt to delete the path from Vault if true
- disable
Read boolean True/false. Set this to true if your vault authentication is not able to read the data or if the endpoint does not support the
GET
method. Setting this totrue
will break drift detection. You should set this totrue
for endpoints that are write-only. Defaults to false.- ignore
Absent booleanFields When reading, disregard fields not present in data_json
- namespace string
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. Available only for Vault Enterprise.- path string
The full logical path at which to write the given data. Consult each backend's documentation to see which endpoints support the
PUT
methods and to determine whether they also supportDELETE
andGET
.- write
Data {[key: string]: string} Map of strings returned by write operation
- write
Data stringJson JSON data returned by write operation
- write
Fields string[] Top-level fields returned by write to persist in state
- data_
json str String containing a JSON-encoded object that will be written to the given path as the secret data.
- disable_
delete bool Don't attempt to delete the path from Vault if true
- disable_
read bool True/false. Set this to true if your vault authentication is not able to read the data or if the endpoint does not support the
GET
method. Setting this totrue
will break drift detection. You should set this totrue
for endpoints that are write-only. Defaults to false.- ignore_
absent_ boolfields When reading, disregard fields not present in data_json
- namespace str
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. Available only for Vault Enterprise.- path str
The full logical path at which to write the given data. Consult each backend's documentation to see which endpoints support the
PUT
methods and to determine whether they also supportDELETE
andGET
.- write_
data Mapping[str, str] Map of strings returned by write operation
- write_
data_ strjson JSON data returned by write operation
- write_
fields Sequence[str] Top-level fields returned by write to persist in state
- data
Json String String containing a JSON-encoded object that will be written to the given path as the secret data.
- disable
Delete Boolean Don't attempt to delete the path from Vault if true
- disable
Read Boolean True/false. Set this to true if your vault authentication is not able to read the data or if the endpoint does not support the
GET
method. Setting this totrue
will break drift detection. You should set this totrue
for endpoints that are write-only. Defaults to false.- ignore
Absent BooleanFields When reading, disregard fields not present in data_json
- namespace String
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. Available only for Vault Enterprise.- path String
The full logical path at which to write the given data. Consult each backend's documentation to see which endpoints support the
PUT
methods and to determine whether they also supportDELETE
andGET
.- write
Data Map<String> Map of strings returned by write operation
- write
Data StringJson JSON data returned by write operation
- write
Fields List<String> Top-level fields returned by write to persist in state
Import
Import is not supported for this resource.
Package Details
- Repository
- Vault pulumi/pulumi-vault
- License
- Apache-2.0
- Notes
This Pulumi package is based on the
vault
Terraform Provider.