Module aws
This provider is a derived work of the Terraform Provider distributed under MPL 2.0. If you encounter a bug or missing feature, first check the
pulumi/pulumi-vaultrepo; however, if that doesn’t turn up anything, please consult the sourceterraform-providers/terraform-provider-vaultrepo.
Resources
- AuthBackendCert
- AuthBackendClient
- AuthBackendIdentityWhitelist
- AuthBackendLogin
- AuthBackendRole
- AuthBackendRoleTag
- AuthBackendRoletagBlacklist
- AuthBackendStsRole
- SecretBackend
- SecretBackendRole
Functions
Others
- AuthBackendCertArgs
- AuthBackendCertState
- AuthBackendClientArgs
- AuthBackendClientState
- AuthBackendIdentityWhitelistArgs
- AuthBackendIdentityWhitelistState
- AuthBackendLoginArgs
- AuthBackendLoginState
- AuthBackendRoleArgs
- AuthBackendRoleState
- AuthBackendRoleTagArgs
- AuthBackendRoletagBlacklistArgs
- AuthBackendRoletagBlacklistState
- AuthBackendRoleTagState
- AuthBackendStsRoleArgs
- AuthBackendStsRoleState
- GetAccessCredentialsArgs
- GetAccessCredentialsResult
- SecretBackendArgs
- SecretBackendRoleArgs
- SecretBackendRoleState
- SecretBackendState
Resources
Resource AuthBackendCert
class AuthBackendCert extends CustomResourceconstructor
new AuthBackendCert(name: string, args: AuthBackendCertArgs, opts?: pulumi.CustomResourceOptions)Create a AuthBackendCert resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: AuthBackendCertState, opts?: pulumi.CustomResourceOptions): AuthBackendCertGet an existing AuthBackendCert resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is AuthBackendCertReturns true if the given object is an instance of AuthBackendCert. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property awsPublicCert
public awsPublicCert: pulumi.Output<string>;The Base64 encoded AWS Public key required to verify PKCS7 signature of the EC2 instance metadata. You can find this key in the AWS documentation.
property backend
public backend: pulumi.Output<string | undefined>;The path the AWS auth backend being configured was
mounted at. Defaults to aws.
property certName
public certName: pulumi.Output<string>;The name of the certificate.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property type
public type: pulumi.Output<string | undefined>;Either “pkcs7” or “identity”, indicating the type of document which can be verified using the given certificate. Defaults to “pkcs7”.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource AuthBackendClient
class AuthBackendClient extends CustomResourceconstructor
new AuthBackendClient(name: string, args?: AuthBackendClientArgs, opts?: pulumi.CustomResourceOptions)Create a AuthBackendClient resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: AuthBackendClientState, opts?: pulumi.CustomResourceOptions): AuthBackendClientGet an existing AuthBackendClient resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is AuthBackendClientReturns true if the given object is an instance of AuthBackendClient. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property accessKey
public accessKey: pulumi.Output<string | undefined>;The AWS access key that Vault should use for the auth backend.
property backend
public backend: pulumi.Output<string | undefined>;The path the AWS auth backend being configured was
mounted at. Defaults to aws.
property ec2Endpoint
public ec2Endpoint: pulumi.Output<string | undefined>;Override the URL Vault uses when making EC2 API calls.
property iamEndpoint
public iamEndpoint: pulumi.Output<string | undefined>;Override the URL Vault uses when making IAM API calls.
property iamServerIdHeaderValue
public iamServerIdHeaderValue: pulumi.Output<string | undefined>;The value to require in the
X-Vault-AWS-IAM-Server-ID header as part of GetCallerIdentity requests
that are used in the IAM auth method.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property secretKey
public secretKey: pulumi.Output<string | undefined>;The AWS secret key that Vault should use for the auth backend.
property stsEndpoint
public stsEndpoint: pulumi.Output<string | undefined>;Override the URL Vault uses when making STS API calls.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource AuthBackendIdentityWhitelist
class AuthBackendIdentityWhitelist extends CustomResourceConfigures the periodic tidying operation of the whitelisted identity entries.
For more information, see the Vault docs.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as vault from "@pulumi/vault";
const exampleAuthBackend = new vault.AuthBackend("example", {
type: "aws",
});
const exampleAuthBackendIdentityWhitelist = new vault.aws.AuthBackendIdentityWhitelist("example", {
backend: exampleAuthBackend.path,
safetyBuffer: 3600,
});constructor
new AuthBackendIdentityWhitelist(name: string, args?: AuthBackendIdentityWhitelistArgs, opts?: pulumi.CustomResourceOptions)Create a AuthBackendIdentityWhitelist resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: AuthBackendIdentityWhitelistState, opts?: pulumi.CustomResourceOptions): AuthBackendIdentityWhitelistGet an existing AuthBackendIdentityWhitelist resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is AuthBackendIdentityWhitelistReturns true if the given object is an instance of AuthBackendIdentityWhitelist. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property backend
public backend: pulumi.Output<string | undefined>;The path of the AWS backend being configured.
property disablePeriodicTidy
public disablePeriodicTidy: pulumi.Output<boolean | undefined>;If set to true, disables the periodic tidying of the identity-whitelist entries.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property safetyBuffer
public safetyBuffer: pulumi.Output<number | undefined>;The amount of extra time, in minutes, that must have passed beyond the roletag expiration, before it is removed from the backend storage.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource AuthBackendLogin
class AuthBackendLogin extends CustomResourceLogs into a Vault server using an AWS auth backend. Login can be accomplished using a signed identity request from IAM or using ec2 instance metadata. For more information, see the Vault documentation.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as vault from "@pulumi/vault";
const aws = new vault.AuthBackend("aws", {
type: "aws",
});
const exampleAuthBackendClient = new vault.aws.AuthBackendClient("example", {
accessKey: "123456789012",
backend: aws.path,
secretKey: "AWSSECRETKEYGOESHERE",
});
const exampleAuthBackendRole = new vault.aws.AuthBackendRole("example", {
authType: "ec2",
backend: aws.path,
boundAccountId: "123456789012",
boundAmiId: "ami-8c1be5f6",
boundIamInstanceProfileArn: "arn:aws:iam::123456789012:instance-profile/MyProfile",
boundSubnetId: "vpc-133128f1",
boundVpcId: "vpc-b61106d4",
maxTtl: 120,
role: "test-role",
tokenPolicies: [
"default",
"dev",
"prod",
],
ttl: 60,
}, { dependsOn: [exampleAuthBackendClient] });
const exampleAuthBackendLogin = new vault.aws.AuthBackendLogin("example", {
backend: vault_auth_backend_example.path,
identity: "BASE64ENCODEDIDENTITYDOCUMENT",
role: exampleAuthBackendRole.role,
signature: "BASE64ENCODEDSHA256IDENTITYDOCUMENTSIGNATURE",
});constructor
new AuthBackendLogin(name: string, args?: AuthBackendLoginArgs, opts?: pulumi.CustomResourceOptions)Create a AuthBackendLogin resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: AuthBackendLoginState, opts?: pulumi.CustomResourceOptions): AuthBackendLoginGet an existing AuthBackendLogin resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is AuthBackendLoginReturns true if the given object is an instance of AuthBackendLogin. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property accessor
public accessor: pulumi.Output<string>;The token’s accessor.
property authType
public authType: pulumi.Output<string>;The authentication type used to generate this token.
property backend
public backend: pulumi.Output<string | undefined>;The unique name of the AWS auth backend. Defaults to ‘aws’.
property clientToken
public clientToken: pulumi.Output<string>;The token returned by Vault.
property iamHttpRequestMethod
public iamHttpRequestMethod: pulumi.Output<string | undefined>;The HTTP method used in the signed IAM request.
property iamRequestBody
public iamRequestBody: pulumi.Output<string | undefined>;The base64-encoded body of the signed request.
property iamRequestHeaders
public iamRequestHeaders: pulumi.Output<string | undefined>;The base64-encoded, JSON serialized representation of the GetCallerIdentity HTTP request headers.
property iamRequestUrl
public iamRequestUrl: pulumi.Output<string | undefined>;The base64-encoded HTTP URL used in the signed request.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property identity
public identity: pulumi.Output<string | undefined>;The base64-encoded EC2 instance identity document to authenticate with. Can be retrieved from the EC2 metadata server.
property leaseDuration
public leaseDuration: pulumi.Output<number>;The duration in seconds the token will be valid, relative
to the time in leaseStartTime.
property leaseStartTime
public leaseStartTime: pulumi.Output<string>;Time at which the lease was read, using the clock of the system where Terraform was running
property metadata
public metadata: pulumi.Output<{[key: string]: any}>;A map of information returned by the Vault server about the authentication used to generate this token.
property nonce
public nonce: pulumi.Output<string>;The unique nonce to be used for login requests. Can be set to a user-specified value, or will contain the server-generated value once a token is issued. EC2 instances can only acquire a single token until the whitelist is tidied again unless they keep track of this nonce.
property pkcs7
public pkcs7: pulumi.Output<string | undefined>;The PKCS#7 signature of the identity document to authenticate with, with all newline characters removed. Can be retrieved from the EC2 metadata server.
property policies
public policies: pulumi.Output<string[]>;The Vault policies assigned to this token.
property renewable
public renewable: pulumi.Output<boolean>;Set to true if the token can be extended through renewal.
property role
public role: pulumi.Output<string>;The name of the AWS auth backend role to create tokens against.
property signature
public signature: pulumi.Output<string | undefined>;The base64-encoded SHA256 RSA signature of the instance identity document to authenticate with, with all newline characters removed. Can be retrieved from the EC2 metadata server.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource AuthBackendRole
class AuthBackendRole extends CustomResourceManages an AWS auth backend role in a Vault server. Roles constrain the instances or principals that can perform the login operation against the backend. See the Vault documentation for more information.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as vault from "@pulumi/vault";
const aws = new vault.AuthBackend("aws", {type: "aws"});
const example = new vault.aws.AuthBackendRole("example", {
backend: aws.path,
role: "test-role",
authType: "iam",
boundAmiIds: ["ami-8c1be5f6"],
boundAccountIds: ["123456789012"],
boundVpcIds: ["vpc-b61106d4"],
boundSubnetIds: ["vpc-133128f1"],
boundIamRoleArns: ["arn:aws:iam::123456789012:role/MyRole"],
boundIamInstanceProfileArns: ["arn:aws:iam::123456789012:instance-profile/MyProfile"],
inferredEntityType: "ec2Instance",
inferredAwsRegion: "us-east-1",
tokenTtl: 60,
tokenMaxTtl: 120,
tokenPolicies: [
"default",
"dev",
"prod",
],
});constructor
new AuthBackendRole(name: string, args: AuthBackendRoleArgs, opts?: pulumi.CustomResourceOptions)Create a AuthBackendRole resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: AuthBackendRoleState, opts?: pulumi.CustomResourceOptions): AuthBackendRoleGet an existing AuthBackendRole resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is AuthBackendRoleReturns true if the given object is an instance of AuthBackendRole. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property allowInstanceMigration
public allowInstanceMigration: pulumi.Output<boolean | undefined>;If set to true, allows migration of
the underlying instance where the client resides.
property authType
public authType: pulumi.Output<string | undefined>;The auth type permitted for this role. Valid choices
are ec2 and iam. Defaults to iam.
property backend
public backend: pulumi.Output<string | undefined>;Unique name of the auth backend to configure.
property boundAccountIds
public boundAccountIds: pulumi.Output<string[] | undefined>;If set, defines a constraint on the EC2
instances that can perform the login operation that they should be using the
account ID specified by this field. authType must be set to ec2 or
inferredEntityType must be set to ec2Instance to use this constraint.
property boundAmiIds
public boundAmiIds: pulumi.Output<string[] | undefined>;If set, defines a constraint on the EC2 instances
that can perform the login operation that they should be using the AMI ID
specified by this field. authType must be set to ec2 or
inferredEntityType must be set to ec2Instance to use this constraint.
property boundEc2InstanceIds
public boundEc2InstanceIds: pulumi.Output<string[] | undefined>;Only EC2 instances that match this instance ID will be permitted to log in.
property boundIamInstanceProfileArns
public boundIamInstanceProfileArns: pulumi.Output<string[] | undefined>;If set, defines a constraint on
the EC2 instances that can perform the login operation that they must be
associated with an IAM instance profile ARN which has a prefix that matches
the value specified by this field. The value is prefix-matched as though it
were a glob ending in *. authType must be set to ec2 or
inferredEntityType must be set to ec2Instance to use this constraint.
property boundIamPrincipalArns
public boundIamPrincipalArns: pulumi.Output<string[] | undefined>;If set, defines the IAM principal that
must be authenticated when authType is set to iam. Wildcards are
supported at the end of the ARN.
property boundIamRoleArns
public boundIamRoleArns: pulumi.Output<string[] | undefined>;If set, defines a constraint on the EC2
instances that can perform the login operation that they must match the IAM
role ARN specified by this field. authType must be set to ec2 or
inferredEntityType must be set to ec2Instance to use this constraint.
property boundRegions
public boundRegions: pulumi.Output<string[] | undefined>;If set, defines a constraint on the EC2 instances
that can perform the login operation that the region in their identity
document must match the one specified by this field. authType must be set
to ec2 or inferredEntityType must be set to ec2Instance to use this
constraint.
property boundSubnetIds
public boundSubnetIds: pulumi.Output<string[] | undefined>;If set, defines a constraint on the EC2
instances that can perform the login operation that they be associated with
the subnet ID that matches the value specified by this field. authType
must be set to ec2 or inferredEntityType must be set to ec2Instance
to use this constraint.
property boundVpcIds
public boundVpcIds: pulumi.Output<string[] | undefined>;If set, defines a constraint on the EC2 instances
that can perform the login operation that they be associated with the VPC ID
that matches the value specified by this field. authType must be set to
ec2 or inferredEntityType must be set to ec2Instance to use this
constraint.
property disallowReauthentication
public disallowReauthentication: pulumi.Output<boolean | undefined>;IF set to true, only allows a
single token to be granted per instance ID. This can only be set when
authType is set to ec2.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property inferredAwsRegion
public inferredAwsRegion: pulumi.Output<string | undefined>;When inferredEntityType is set, this
is the region to search for the inferred entities. Required if
inferredEntityType is set. This only applies when authType is set to
iam.
property inferredEntityType
public inferredEntityType: pulumi.Output<string | undefined>;If set, instructs Vault to turn on
inferencing. The only valid value is ec2Instance, which instructs Vault to
infer that the role comes from an EC2 instance in an IAM instance profile.
This only applies when authType is set to iam.
property maxTtl
public maxTtl: pulumi.Output<number | undefined>;The maximum allowed lifetime of tokens issued using this role, provided as a number of seconds.
property period
public period: pulumi.Output<number | undefined>;If set, indicates that the token generated using this role should never expire. The token should be renewed within the duration specified by this value. At each renewal, the token’s TTL will be set to the value of this field. Specified in seconds.
property policies
public policies: pulumi.Output<string[] | undefined>;An array of strings specifying the policies to be set on tokens issued using this role.
property resolveAwsUniqueIds
public resolveAwsUniqueIds: pulumi.Output<boolean | undefined>;If set to true, the
boundIamPrincipalArns are resolved to AWS Unique
IDs
for the bound principal ARN. This field is ignored when a
boundIamPrincipalArn ends in a wildcard. Resolving to unique IDs more
closely mimics the behavior of AWS services in that if an IAM user or role is
deleted and a new one is recreated with the same name, those new users or
roles won’t get access to roles in Vault that were permissioned to the prior
principals of the same name. Defaults to true.
Once set to true, this cannot be changed to false without recreating the role.
property role
public role: pulumi.Output<string>;The name of the role.
property roleTag
public roleTag: pulumi.Output<string | undefined>;If set, enable role tags for this role. The value set
for this field should be the key of the tag on the EC2 instance. authType
must be set to ec2 or inferredEntityType must be set to ec2Instance
to use this constraint.
property tokenBoundCidrs
public tokenBoundCidrs: pulumi.Output<string[] | undefined>;List of CIDR blocks; if set, specifies blocks of IP addresses which can authenticate successfully, and ties the resulting token to these blocks as well.
property tokenExplicitMaxTtl
public tokenExplicitMaxTtl: pulumi.Output<number | undefined>;If set, will encode an
explicit max TTL
onto the token in number of seconds. This is a hard cap even if tokenTtl and
tokenMaxTtl would otherwise allow a renewal.
property tokenMaxTtl
public tokenMaxTtl: pulumi.Output<number | undefined>;The maximum lifetime for generated tokens in number of seconds. Its current value will be referenced at renewal time.
property tokenNoDefaultPolicy
public tokenNoDefaultPolicy: pulumi.Output<boolean | undefined>;If set, the default policy will not be set on generated tokens; otherwise it will be added to the policies set in token_policies.
property tokenNumUses
public tokenNumUses: pulumi.Output<number | undefined>;The period, if any, in number of seconds to set on the token.
property tokenPeriod
public tokenPeriod: pulumi.Output<number | undefined>;If set, indicates that the token generated using this role should never expire. The token should be renewed within the duration specified by this value. At each renewal, the token’s TTL will be set to the value of this field. Specified in seconds.
property tokenPolicies
public tokenPolicies: pulumi.Output<string[] | undefined>;List of policies to encode onto generated tokens. Depending on the auth method, this list may be supplemented by user/group/other values.
property tokenTtl
public tokenTtl: pulumi.Output<number | undefined>;The incremental lifetime for generated tokens in number of seconds. Its current value will be referenced at renewal time.
property tokenType
public tokenType: pulumi.Output<string | undefined>;The type of token that should be generated. Can be service,
batch, or default to use the mount’s tuned default (which unless changed will be
service tokens). For token store roles, there are two additional possibilities:
default-service and default-batch which specify the type to return unless the client
requests a different type at generation time.
property ttl
public ttl: pulumi.Output<number | undefined>;The TTL period of tokens issued using this role, provided as a number of seconds.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource AuthBackendRoleTag
class AuthBackendRoleTag extends CustomResourceReads role tag information from an AWS auth backend in Vault.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as vault from "@pulumi/vault";
const aws = new vault.AuthBackend("aws", {
path: "%s",
type: "aws",
});
const role = new vault.aws.AuthBackendRole("role", {
authType: "ec2",
backend: aws.path,
boundAccountId: "123456789012",
policies: [
"dev",
"prod",
"qa",
"test",
],
role: "%s",
roleTag: "VaultRoleTag",
});
const test = new vault.aws.AuthBackendRoleTag("test", {
backend: aws.path,
instanceId: "i-1234567",
maxTtl: "1h",
policies: [
"prod",
"dev",
"test",
],
role: role.role,
});constructor
new AuthBackendRoleTag(name: string, args: AuthBackendRoleTagArgs, opts?: pulumi.CustomResourceOptions)Create a AuthBackendRoleTag resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: AuthBackendRoleTagState, opts?: pulumi.CustomResourceOptions): AuthBackendRoleTagGet an existing AuthBackendRoleTag resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is AuthBackendRoleTagReturns true if the given object is an instance of AuthBackendRoleTag. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property allowInstanceMigration
public allowInstanceMigration: pulumi.Output<boolean | undefined>;If set, allows migration of the underlying instances where the client resides. Use with caution.
property backend
public backend: pulumi.Output<string | undefined>;The path to the AWS auth backend to
read role tags from, with no leading or trailing /s. Defaults to “aws”.
property disallowReauthentication
public disallowReauthentication: pulumi.Output<boolean | undefined>;If set, only allows a single token to be granted per instance ID.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property instanceId
public instanceId: pulumi.Output<string | undefined>;Instance ID for which this tag is intended for. If set, the created tag can only be used by the instance with the given ID.
property maxTtl
public maxTtl: pulumi.Output<string | undefined>;The maximum TTL of the tokens issued using this role.
property policies
public policies: pulumi.Output<string[] | undefined>;The policies to be associated with the tag. Must be a subset of the policies associated with the role.
property role
public role: pulumi.Output<string>;The name of the AWS auth backend role to read
role tags from, with no leading or trailing /s.
property tagKey
public tagKey: pulumi.Output<string>;The key of the role tag.
property tagValue
public tagValue: pulumi.Output<string>;The value to set the role key.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource AuthBackendRoletagBlacklist
class AuthBackendRoletagBlacklist extends CustomResourceConfigures the periodic tidying operation of the blacklisted role tag entries.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as vault from "@pulumi/vault";
const exampleAuthBackend = new vault.AuthBackend("example", {
type: "aws",
});
const exampleAuthBackendRoletagBlacklist = new vault.aws.AuthBackendRoletagBlacklist("example", {
backend: exampleAuthBackend.path,
safetyBuffer: 360,
});constructor
new AuthBackendRoletagBlacklist(name: string, args: AuthBackendRoletagBlacklistArgs, opts?: pulumi.CustomResourceOptions)Create a AuthBackendRoletagBlacklist resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: AuthBackendRoletagBlacklistState, opts?: pulumi.CustomResourceOptions): AuthBackendRoletagBlacklistGet an existing AuthBackendRoletagBlacklist resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is AuthBackendRoletagBlacklistReturns true if the given object is an instance of AuthBackendRoletagBlacklist. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property backend
public backend: pulumi.Output<string>;The path the AWS auth backend being configured was mounted at.
property disablePeriodicTidy
public disablePeriodicTidy: pulumi.Output<boolean | undefined>;If set to true, disables the periodic tidying of the roletag blacklist entries. Defaults to false.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property safetyBuffer
public safetyBuffer: pulumi.Output<number | undefined>;The amount of extra time that must have passed beyond the roletag expiration, before it is removed from the backend storage. Defaults to 259,200 seconds, or 72 hours.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource AuthBackendStsRole
class AuthBackendStsRole extends CustomResourceconstructor
new AuthBackendStsRole(name: string, args: AuthBackendStsRoleArgs, opts?: pulumi.CustomResourceOptions)Create a AuthBackendStsRole resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: AuthBackendStsRoleState, opts?: pulumi.CustomResourceOptions): AuthBackendStsRoleGet an existing AuthBackendStsRole resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is AuthBackendStsRoleReturns true if the given object is an instance of AuthBackendStsRole. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property accountId
public accountId: pulumi.Output<string>;The AWS account ID to configure the STS role for.
property backend
public backend: pulumi.Output<string | undefined>;The path the AWS auth backend being configured was
mounted at. Defaults to aws.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property stsRole
public stsRole: pulumi.Output<string>;The STS role to assume when verifying requests made
by EC2 instances in the account specified by accountId.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource SecretBackend
class SecretBackend extends CustomResourceconstructor
new SecretBackend(name: string, args?: SecretBackendArgs, opts?: pulumi.CustomResourceOptions)Create a SecretBackend resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SecretBackendState, opts?: pulumi.CustomResourceOptions): SecretBackendGet an existing SecretBackend resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is SecretBackendReturns true if the given object is an instance of SecretBackend. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property accessKey
public accessKey: pulumi.Output<string | undefined>;The AWS Access Key ID this backend should use to issue new credentials. Vault uses the official AWS SDK to authenticate, and thus can also use standard AWS environment credentials, shared file credentials or IAM role/ECS task credentials.
property defaultLeaseTtlSeconds
public defaultLeaseTtlSeconds: pulumi.Output<number>;The default TTL for credentials issued by this backend.
property description
public description: pulumi.Output<string | undefined>;A human-friendly description for this backend.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property maxLeaseTtlSeconds
public maxLeaseTtlSeconds: pulumi.Output<number>;The maximum TTL that can be requested for credentials issued by this backend.
property path
public path: pulumi.Output<string | undefined>;The unique path this backend should be mounted at. Must
not begin or end with a /. Defaults to aws.
property region
public region: pulumi.Output<string>;The AWS region for API calls. Defaults to us-east-1.
property secretKey
public secretKey: pulumi.Output<string | undefined>;The AWS Secret Key this backend should use to issue new credentials. Vault uses the official AWS SDK to authenticate, and thus can also use standard AWS environment credentials, shared file credentials or IAM role/ECS task credentials.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Resource SecretBackendRole
class SecretBackendRole extends CustomResourceconstructor
new SecretBackendRole(name: string, args: SecretBackendRoleArgs, opts?: pulumi.CustomResourceOptions)Create a SecretBackendRole resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA bag of options that control this resource's behavior.
method get
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SecretBackendRoleState, opts?: pulumi.CustomResourceOptions): SecretBackendRoleGet an existing SecretBackendRole resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
method getProvider
getProvider(moduleMember: string): ProviderResource | undefinedmethod isInstance
public static isInstance(obj: any): obj is SecretBackendRoleReturns true if the given object is an instance of SecretBackendRole. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.
property backend
public backend: pulumi.Output<string>;The path the AWS secret backend is mounted at,
with no leading or trailing /s.
property credentialType
public credentialType: pulumi.Output<string>;Specifies the type of credential to be used when
retrieving credentials from the role. Must be one of iamUser, assumedRole, or
federationToken.
property defaultStsTtl
public defaultStsTtl: pulumi.Output<number>;The default TTL in seconds for STS credentials.
When a TTL is not specified when STS credentials are requested,
and a default TTL is specified on the role,
then this default TTL will be used. Valid only when credentialType is one of
assumedRole or federationToken.
property id
id: Output<ID>;id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.
property maxStsTtl
public maxStsTtl: pulumi.Output<number>;The max allowed TTL in seconds for STS credentials
(credentials TTL are capped to maxStsTtl). Valid only when credentialType is
one of assumedRole or federationToken.
property name
public name: pulumi.Output<string>;The name to identify this role within the backend. Must be unique within the backend.
property policyArns
public policyArns: pulumi.Output<string[] | undefined>;Specifies a list of AWS managed policy ARNs. The
behavior depends on the credential type. With iamUser, the policies will be
attached to IAM users when they are requested. With assumedRole and
federationToken, the policy ARNs will act as a filter on what the credentials
can do, similar to policyDocument. When credentialType is iamUser or
federationToken, at least one of policyDocument or policyArns must
be specified.
property policyDocument
public policyDocument: pulumi.Output<string | undefined>;The IAM policy document for the role. The
behavior depends on the credential type. With iamUser, the policy document
will be attached to the IAM user generated and augment the permissions the IAM
user has. With assumedRole and federationToken, the policy document will
act as a filter on what the credentials can do, similar to policyArns.
property roleArns
public roleArns: pulumi.Output<string[] | undefined>;Specifies the ARNs of the AWS roles this Vault role
is allowed to assume. Required when credentialType is assumedRole and
prohibited otherwise.
property urn
urn: Output<URN>;urn is the stable logical URN used to distinctly address a resource, both before and after deployments.
Functions
Function getAccessCredentials
getAccessCredentials(args: GetAccessCredentialsArgs, opts?: pulumi.InvokeOptions): Promise<GetAccessCredentialsResult>Others
interface AuthBackendCertArgs
interface AuthBackendCertArgsThe set of arguments for constructing a AuthBackendCert resource.
property awsPublicCert
awsPublicCert: pulumi.Input<string>;The Base64 encoded AWS Public key required to verify PKCS7 signature of the EC2 instance metadata. You can find this key in the AWS documentation.
property backend
backend?: pulumi.Input<string>;The path the AWS auth backend being configured was
mounted at. Defaults to aws.
property certName
certName: pulumi.Input<string>;The name of the certificate.
property type
type?: pulumi.Input<string>;Either “pkcs7” or “identity”, indicating the type of document which can be verified using the given certificate. Defaults to “pkcs7”.
interface AuthBackendCertState
interface AuthBackendCertStateInput properties used for looking up and filtering AuthBackendCert resources.
property awsPublicCert
awsPublicCert?: pulumi.Input<string>;The Base64 encoded AWS Public key required to verify PKCS7 signature of the EC2 instance metadata. You can find this key in the AWS documentation.
property backend
backend?: pulumi.Input<string>;The path the AWS auth backend being configured was
mounted at. Defaults to aws.
property certName
certName?: pulumi.Input<string>;The name of the certificate.
property type
type?: pulumi.Input<string>;Either “pkcs7” or “identity”, indicating the type of document which can be verified using the given certificate. Defaults to “pkcs7”.
interface AuthBackendClientArgs
interface AuthBackendClientArgsThe set of arguments for constructing a AuthBackendClient resource.
property accessKey
accessKey?: pulumi.Input<string>;The AWS access key that Vault should use for the auth backend.
property backend
backend?: pulumi.Input<string>;The path the AWS auth backend being configured was
mounted at. Defaults to aws.
property ec2Endpoint
ec2Endpoint?: pulumi.Input<string>;Override the URL Vault uses when making EC2 API calls.
property iamEndpoint
iamEndpoint?: pulumi.Input<string>;Override the URL Vault uses when making IAM API calls.
property iamServerIdHeaderValue
iamServerIdHeaderValue?: pulumi.Input<string>;The value to require in the
X-Vault-AWS-IAM-Server-ID header as part of GetCallerIdentity requests
that are used in the IAM auth method.
property secretKey
secretKey?: pulumi.Input<string>;The AWS secret key that Vault should use for the auth backend.
property stsEndpoint
stsEndpoint?: pulumi.Input<string>;Override the URL Vault uses when making STS API calls.
interface AuthBackendClientState
interface AuthBackendClientStateInput properties used for looking up and filtering AuthBackendClient resources.
property accessKey
accessKey?: pulumi.Input<string>;The AWS access key that Vault should use for the auth backend.
property backend
backend?: pulumi.Input<string>;The path the AWS auth backend being configured was
mounted at. Defaults to aws.
property ec2Endpoint
ec2Endpoint?: pulumi.Input<string>;Override the URL Vault uses when making EC2 API calls.
property iamEndpoint
iamEndpoint?: pulumi.Input<string>;Override the URL Vault uses when making IAM API calls.
property iamServerIdHeaderValue
iamServerIdHeaderValue?: pulumi.Input<string>;The value to require in the
X-Vault-AWS-IAM-Server-ID header as part of GetCallerIdentity requests
that are used in the IAM auth method.
property secretKey
secretKey?: pulumi.Input<string>;The AWS secret key that Vault should use for the auth backend.
property stsEndpoint
stsEndpoint?: pulumi.Input<string>;Override the URL Vault uses when making STS API calls.
interface AuthBackendIdentityWhitelistArgs
interface AuthBackendIdentityWhitelistArgsThe set of arguments for constructing a AuthBackendIdentityWhitelist resource.
property backend
backend?: pulumi.Input<string>;The path of the AWS backend being configured.
property disablePeriodicTidy
disablePeriodicTidy?: pulumi.Input<boolean>;If set to true, disables the periodic tidying of the identity-whitelist entries.
property safetyBuffer
safetyBuffer?: pulumi.Input<number>;The amount of extra time, in minutes, that must have passed beyond the roletag expiration, before it is removed from the backend storage.
interface AuthBackendIdentityWhitelistState
interface AuthBackendIdentityWhitelistStateInput properties used for looking up and filtering AuthBackendIdentityWhitelist resources.
property backend
backend?: pulumi.Input<string>;The path of the AWS backend being configured.
property disablePeriodicTidy
disablePeriodicTidy?: pulumi.Input<boolean>;If set to true, disables the periodic tidying of the identity-whitelist entries.
property safetyBuffer
safetyBuffer?: pulumi.Input<number>;The amount of extra time, in minutes, that must have passed beyond the roletag expiration, before it is removed from the backend storage.
interface AuthBackendLoginArgs
interface AuthBackendLoginArgsThe set of arguments for constructing a AuthBackendLogin resource.
property backend
backend?: pulumi.Input<string>;The unique name of the AWS auth backend. Defaults to ‘aws’.
property iamHttpRequestMethod
iamHttpRequestMethod?: pulumi.Input<string>;The HTTP method used in the signed IAM request.
property iamRequestBody
iamRequestBody?: pulumi.Input<string>;The base64-encoded body of the signed request.
property iamRequestHeaders
iamRequestHeaders?: pulumi.Input<string>;The base64-encoded, JSON serialized representation of the GetCallerIdentity HTTP request headers.
property iamRequestUrl
iamRequestUrl?: pulumi.Input<string>;The base64-encoded HTTP URL used in the signed request.
property identity
identity?: pulumi.Input<string>;The base64-encoded EC2 instance identity document to authenticate with. Can be retrieved from the EC2 metadata server.
property nonce
nonce?: pulumi.Input<string>;The unique nonce to be used for login requests. Can be set to a user-specified value, or will contain the server-generated value once a token is issued. EC2 instances can only acquire a single token until the whitelist is tidied again unless they keep track of this nonce.
property pkcs7
pkcs7?: pulumi.Input<string>;The PKCS#7 signature of the identity document to authenticate with, with all newline characters removed. Can be retrieved from the EC2 metadata server.
property role
role?: pulumi.Input<string>;The name of the AWS auth backend role to create tokens against.
property signature
signature?: pulumi.Input<string>;The base64-encoded SHA256 RSA signature of the instance identity document to authenticate with, with all newline characters removed. Can be retrieved from the EC2 metadata server.
interface AuthBackendLoginState
interface AuthBackendLoginStateInput properties used for looking up and filtering AuthBackendLogin resources.
property accessor
accessor?: pulumi.Input<string>;The token’s accessor.
property authType
authType?: pulumi.Input<string>;The authentication type used to generate this token.
property backend
backend?: pulumi.Input<string>;The unique name of the AWS auth backend. Defaults to ‘aws’.
property clientToken
clientToken?: pulumi.Input<string>;The token returned by Vault.
property iamHttpRequestMethod
iamHttpRequestMethod?: pulumi.Input<string>;The HTTP method used in the signed IAM request.
property iamRequestBody
iamRequestBody?: pulumi.Input<string>;The base64-encoded body of the signed request.
property iamRequestHeaders
iamRequestHeaders?: pulumi.Input<string>;The base64-encoded, JSON serialized representation of the GetCallerIdentity HTTP request headers.
property iamRequestUrl
iamRequestUrl?: pulumi.Input<string>;The base64-encoded HTTP URL used in the signed request.
property identity
identity?: pulumi.Input<string>;The base64-encoded EC2 instance identity document to authenticate with. Can be retrieved from the EC2 metadata server.
property leaseDuration
leaseDuration?: pulumi.Input<number>;The duration in seconds the token will be valid, relative
to the time in leaseStartTime.
property leaseStartTime
leaseStartTime?: pulumi.Input<string>;Time at which the lease was read, using the clock of the system where Terraform was running
property metadata
metadata?: pulumi.Input<{[key: string]: any}>;A map of information returned by the Vault server about the authentication used to generate this token.
property nonce
nonce?: pulumi.Input<string>;The unique nonce to be used for login requests. Can be set to a user-specified value, or will contain the server-generated value once a token is issued. EC2 instances can only acquire a single token until the whitelist is tidied again unless they keep track of this nonce.
property pkcs7
pkcs7?: pulumi.Input<string>;The PKCS#7 signature of the identity document to authenticate with, with all newline characters removed. Can be retrieved from the EC2 metadata server.
property policies
policies?: pulumi.Input<pulumi.Input<string>[]>;The Vault policies assigned to this token.
property renewable
renewable?: pulumi.Input<boolean>;Set to true if the token can be extended through renewal.
property role
role?: pulumi.Input<string>;The name of the AWS auth backend role to create tokens against.
property signature
signature?: pulumi.Input<string>;The base64-encoded SHA256 RSA signature of the instance identity document to authenticate with, with all newline characters removed. Can be retrieved from the EC2 metadata server.
interface AuthBackendRoleArgs
interface AuthBackendRoleArgsThe set of arguments for constructing a AuthBackendRole resource.
property allowInstanceMigration
allowInstanceMigration?: pulumi.Input<boolean>;If set to true, allows migration of
the underlying instance where the client resides.
property authType
authType?: pulumi.Input<string>;The auth type permitted for this role. Valid choices
are ec2 and iam. Defaults to iam.
property backend
backend?: pulumi.Input<string>;Unique name of the auth backend to configure.
property boundAccountIds
boundAccountIds?: pulumi.Input<pulumi.Input<string>[]>;If set, defines a constraint on the EC2
instances that can perform the login operation that they should be using the
account ID specified by this field. authType must be set to ec2 or
inferredEntityType must be set to ec2Instance to use this constraint.
property boundAmiIds
boundAmiIds?: pulumi.Input<pulumi.Input<string>[]>;If set, defines a constraint on the EC2 instances
that can perform the login operation that they should be using the AMI ID
specified by this field. authType must be set to ec2 or
inferredEntityType must be set to ec2Instance to use this constraint.
property boundEc2InstanceIds
boundEc2InstanceIds?: pulumi.Input<pulumi.Input<string>[]>;Only EC2 instances that match this instance ID will be permitted to log in.
property boundIamInstanceProfileArns
boundIamInstanceProfileArns?: pulumi.Input<pulumi.Input<string>[]>;If set, defines a constraint on
the EC2 instances that can perform the login operation that they must be
associated with an IAM instance profile ARN which has a prefix that matches
the value specified by this field. The value is prefix-matched as though it
were a glob ending in *. authType must be set to ec2 or
inferredEntityType must be set to ec2Instance to use this constraint.
property boundIamPrincipalArns
boundIamPrincipalArns?: pulumi.Input<pulumi.Input<string>[]>;If set, defines the IAM principal that
must be authenticated when authType is set to iam. Wildcards are
supported at the end of the ARN.
property boundIamRoleArns
boundIamRoleArns?: pulumi.Input<pulumi.Input<string>[]>;If set, defines a constraint on the EC2
instances that can perform the login operation that they must match the IAM
role ARN specified by this field. authType must be set to ec2 or
inferredEntityType must be set to ec2Instance to use this constraint.
property boundRegions
boundRegions?: pulumi.Input<pulumi.Input<string>[]>;If set, defines a constraint on the EC2 instances
that can perform the login operation that the region in their identity
document must match the one specified by this field. authType must be set
to ec2 or inferredEntityType must be set to ec2Instance to use this
constraint.
property boundSubnetIds
boundSubnetIds?: pulumi.Input<pulumi.Input<string>[]>;If set, defines a constraint on the EC2
instances that can perform the login operation that they be associated with
the subnet ID that matches the value specified by this field. authType
must be set to ec2 or inferredEntityType must be set to ec2Instance
to use this constraint.
property boundVpcIds
boundVpcIds?: pulumi.Input<pulumi.Input<string>[]>;If set, defines a constraint on the EC2 instances
that can perform the login operation that they be associated with the VPC ID
that matches the value specified by this field. authType must be set to
ec2 or inferredEntityType must be set to ec2Instance to use this
constraint.
property disallowReauthentication
disallowReauthentication?: pulumi.Input<boolean>;IF set to true, only allows a
single token to be granted per instance ID. This can only be set when
authType is set to ec2.
property inferredAwsRegion
inferredAwsRegion?: pulumi.Input<string>;When inferredEntityType is set, this
is the region to search for the inferred entities. Required if
inferredEntityType is set. This only applies when authType is set to
iam.
property inferredEntityType
inferredEntityType?: pulumi.Input<string>;If set, instructs Vault to turn on
inferencing. The only valid value is ec2Instance, which instructs Vault to
infer that the role comes from an EC2 instance in an IAM instance profile.
This only applies when authType is set to iam.
property maxTtl
token_max_ttl instead if you are running Vault >= 1.2maxTtl?: pulumi.Input<number>;The maximum allowed lifetime of tokens issued using this role, provided as a number of seconds.
property period
token_period instead if you are running Vault >= 1.2period?: pulumi.Input<number>;If set, indicates that the token generated using this role should never expire. The token should be renewed within the duration specified by this value. At each renewal, the token’s TTL will be set to the value of this field. Specified in seconds.
property policies
token_policies instead if you are running Vault >= 1.2policies?: pulumi.Input<pulumi.Input<string>[]>;An array of strings specifying the policies to be set on tokens issued using this role.
property resolveAwsUniqueIds
resolveAwsUniqueIds?: pulumi.Input<boolean>;If set to true, the
boundIamPrincipalArns are resolved to AWS Unique
IDs
for the bound principal ARN. This field is ignored when a
boundIamPrincipalArn ends in a wildcard. Resolving to unique IDs more
closely mimics the behavior of AWS services in that if an IAM user or role is
deleted and a new one is recreated with the same name, those new users or
roles won’t get access to roles in Vault that were permissioned to the prior
principals of the same name. Defaults to true.
Once set to true, this cannot be changed to false without recreating the role.
property role
role: pulumi.Input<string>;The name of the role.
property roleTag
roleTag?: pulumi.Input<string>;If set, enable role tags for this role. The value set
for this field should be the key of the tag on the EC2 instance. authType
must be set to ec2 or inferredEntityType must be set to ec2Instance
to use this constraint.
property tokenBoundCidrs
tokenBoundCidrs?: pulumi.Input<pulumi.Input<string>[]>;List of CIDR blocks; if set, specifies blocks of IP addresses which can authenticate successfully, and ties the resulting token to these blocks as well.
property tokenExplicitMaxTtl
tokenExplicitMaxTtl?: pulumi.Input<number>;If set, will encode an
explicit max TTL
onto the token in number of seconds. This is a hard cap even if tokenTtl and
tokenMaxTtl would otherwise allow a renewal.
property tokenMaxTtl
tokenMaxTtl?: pulumi.Input<number>;The maximum lifetime for generated tokens in number of seconds. Its current value will be referenced at renewal time.
property tokenNoDefaultPolicy
tokenNoDefaultPolicy?: pulumi.Input<boolean>;If set, the default policy will not be set on generated tokens; otherwise it will be added to the policies set in token_policies.
property tokenNumUses
tokenNumUses?: pulumi.Input<number>;The period, if any, in number of seconds to set on the token.
property tokenPeriod
tokenPeriod?: pulumi.Input<number>;If set, indicates that the token generated using this role should never expire. The token should be renewed within the duration specified by this value. At each renewal, the token’s TTL will be set to the value of this field. Specified in seconds.
property tokenPolicies
tokenPolicies?: pulumi.Input<pulumi.Input<string>[]>;List of policies to encode onto generated tokens. Depending on the auth method, this list may be supplemented by user/group/other values.
property tokenTtl
tokenTtl?: pulumi.Input<number>;The incremental lifetime for generated tokens in number of seconds. Its current value will be referenced at renewal time.
property tokenType
tokenType?: pulumi.Input<string>;The type of token that should be generated. Can be service,
batch, or default to use the mount’s tuned default (which unless changed will be
service tokens). For token store roles, there are two additional possibilities:
default-service and default-batch which specify the type to return unless the client
requests a different type at generation time.
property ttl
token_ttl instead if you are running Vault >= 1.2ttl?: pulumi.Input<number>;The TTL period of tokens issued using this role, provided as a number of seconds.
interface AuthBackendRoleState
interface AuthBackendRoleStateInput properties used for looking up and filtering AuthBackendRole resources.
property allowInstanceMigration
allowInstanceMigration?: pulumi.Input<boolean>;If set to true, allows migration of
the underlying instance where the client resides.
property authType
authType?: pulumi.Input<string>;The auth type permitted for this role. Valid choices
are ec2 and iam. Defaults to iam.
property backend
backend?: pulumi.Input<string>;Unique name of the auth backend to configure.
property boundAccountIds
boundAccountIds?: pulumi.Input<pulumi.Input<string>[]>;If set, defines a constraint on the EC2
instances that can perform the login operation that they should be using the
account ID specified by this field. authType must be set to ec2 or
inferredEntityType must be set to ec2Instance to use this constraint.
property boundAmiIds
boundAmiIds?: pulumi.Input<pulumi.Input<string>[]>;If set, defines a constraint on the EC2 instances
that can perform the login operation that they should be using the AMI ID
specified by this field. authType must be set to ec2 or
inferredEntityType must be set to ec2Instance to use this constraint.
property boundEc2InstanceIds
boundEc2InstanceIds?: pulumi.Input<pulumi.Input<string>[]>;Only EC2 instances that match this instance ID will be permitted to log in.
property boundIamInstanceProfileArns
boundIamInstanceProfileArns?: pulumi.Input<pulumi.Input<string>[]>;If set, defines a constraint on
the EC2 instances that can perform the login operation that they must be
associated with an IAM instance profile ARN which has a prefix that matches
the value specified by this field. The value is prefix-matched as though it
were a glob ending in *. authType must be set to ec2 or
inferredEntityType must be set to ec2Instance to use this constraint.
property boundIamPrincipalArns
boundIamPrincipalArns?: pulumi.Input<pulumi.Input<string>[]>;If set, defines the IAM principal that
must be authenticated when authType is set to iam. Wildcards are
supported at the end of the ARN.
property boundIamRoleArns
boundIamRoleArns?: pulumi.Input<pulumi.Input<string>[]>;If set, defines a constraint on the EC2
instances that can perform the login operation that they must match the IAM
role ARN specified by this field. authType must be set to ec2 or
inferredEntityType must be set to ec2Instance to use this constraint.
property boundRegions
boundRegions?: pulumi.Input<pulumi.Input<string>[]>;If set, defines a constraint on the EC2 instances
that can perform the login operation that the region in their identity
document must match the one specified by this field. authType must be set
to ec2 or inferredEntityType must be set to ec2Instance to use this
constraint.
property boundSubnetIds
boundSubnetIds?: pulumi.Input<pulumi.Input<string>[]>;If set, defines a constraint on the EC2
instances that can perform the login operation that they be associated with
the subnet ID that matches the value specified by this field. authType
must be set to ec2 or inferredEntityType must be set to ec2Instance
to use this constraint.
property boundVpcIds
boundVpcIds?: pulumi.Input<pulumi.Input<string>[]>;If set, defines a constraint on the EC2 instances
that can perform the login operation that they be associated with the VPC ID
that matches the value specified by this field. authType must be set to
ec2 or inferredEntityType must be set to ec2Instance to use this
constraint.
property disallowReauthentication
disallowReauthentication?: pulumi.Input<boolean>;IF set to true, only allows a
single token to be granted per instance ID. This can only be set when
authType is set to ec2.
property inferredAwsRegion
inferredAwsRegion?: pulumi.Input<string>;When inferredEntityType is set, this
is the region to search for the inferred entities. Required if
inferredEntityType is set. This only applies when authType is set to
iam.
property inferredEntityType
inferredEntityType?: pulumi.Input<string>;If set, instructs Vault to turn on
inferencing. The only valid value is ec2Instance, which instructs Vault to
infer that the role comes from an EC2 instance in an IAM instance profile.
This only applies when authType is set to iam.
property maxTtl
token_max_ttl instead if you are running Vault >= 1.2maxTtl?: pulumi.Input<number>;The maximum allowed lifetime of tokens issued using this role, provided as a number of seconds.
property period
token_period instead if you are running Vault >= 1.2period?: pulumi.Input<number>;If set, indicates that the token generated using this role should never expire. The token should be renewed within the duration specified by this value. At each renewal, the token’s TTL will be set to the value of this field. Specified in seconds.
property policies
token_policies instead if you are running Vault >= 1.2policies?: pulumi.Input<pulumi.Input<string>[]>;An array of strings specifying the policies to be set on tokens issued using this role.
property resolveAwsUniqueIds
resolveAwsUniqueIds?: pulumi.Input<boolean>;If set to true, the
boundIamPrincipalArns are resolved to AWS Unique
IDs
for the bound principal ARN. This field is ignored when a
boundIamPrincipalArn ends in a wildcard. Resolving to unique IDs more
closely mimics the behavior of AWS services in that if an IAM user or role is
deleted and a new one is recreated with the same name, those new users or
roles won’t get access to roles in Vault that were permissioned to the prior
principals of the same name. Defaults to true.
Once set to true, this cannot be changed to false without recreating the role.
property role
role?: pulumi.Input<string>;The name of the role.
property roleTag
roleTag?: pulumi.Input<string>;If set, enable role tags for this role. The value set
for this field should be the key of the tag on the EC2 instance. authType
must be set to ec2 or inferredEntityType must be set to ec2Instance
to use this constraint.
property tokenBoundCidrs
tokenBoundCidrs?: pulumi.Input<pulumi.Input<string>[]>;List of CIDR blocks; if set, specifies blocks of IP addresses which can authenticate successfully, and ties the resulting token to these blocks as well.
property tokenExplicitMaxTtl
tokenExplicitMaxTtl?: pulumi.Input<number>;If set, will encode an
explicit max TTL
onto the token in number of seconds. This is a hard cap even if tokenTtl and
tokenMaxTtl would otherwise allow a renewal.
property tokenMaxTtl
tokenMaxTtl?: pulumi.Input<number>;The maximum lifetime for generated tokens in number of seconds. Its current value will be referenced at renewal time.
property tokenNoDefaultPolicy
tokenNoDefaultPolicy?: pulumi.Input<boolean>;If set, the default policy will not be set on generated tokens; otherwise it will be added to the policies set in token_policies.
property tokenNumUses
tokenNumUses?: pulumi.Input<number>;The period, if any, in number of seconds to set on the token.
property tokenPeriod
tokenPeriod?: pulumi.Input<number>;If set, indicates that the token generated using this role should never expire. The token should be renewed within the duration specified by this value. At each renewal, the token’s TTL will be set to the value of this field. Specified in seconds.
property tokenPolicies
tokenPolicies?: pulumi.Input<pulumi.Input<string>[]>;List of policies to encode onto generated tokens. Depending on the auth method, this list may be supplemented by user/group/other values.
property tokenTtl
tokenTtl?: pulumi.Input<number>;The incremental lifetime for generated tokens in number of seconds. Its current value will be referenced at renewal time.
property tokenType
tokenType?: pulumi.Input<string>;The type of token that should be generated. Can be service,
batch, or default to use the mount’s tuned default (which unless changed will be
service tokens). For token store roles, there are two additional possibilities:
default-service and default-batch which specify the type to return unless the client
requests a different type at generation time.
property ttl
token_ttl instead if you are running Vault >= 1.2ttl?: pulumi.Input<number>;The TTL period of tokens issued using this role, provided as a number of seconds.
interface AuthBackendRoleTagArgs
interface AuthBackendRoleTagArgsThe set of arguments for constructing a AuthBackendRoleTag resource.
property allowInstanceMigration
allowInstanceMigration?: pulumi.Input<boolean>;If set, allows migration of the underlying instances where the client resides. Use with caution.
property backend
backend?: pulumi.Input<string>;The path to the AWS auth backend to
read role tags from, with no leading or trailing /s. Defaults to “aws”.
property disallowReauthentication
disallowReauthentication?: pulumi.Input<boolean>;If set, only allows a single token to be granted per instance ID.
property instanceId
instanceId?: pulumi.Input<string>;Instance ID for which this tag is intended for. If set, the created tag can only be used by the instance with the given ID.
property maxTtl
maxTtl?: pulumi.Input<string>;The maximum TTL of the tokens issued using this role.
property policies
policies?: pulumi.Input<pulumi.Input<string>[]>;The policies to be associated with the tag. Must be a subset of the policies associated with the role.
property role
role: pulumi.Input<string>;The name of the AWS auth backend role to read
role tags from, with no leading or trailing /s.
interface AuthBackendRoletagBlacklistArgs
interface AuthBackendRoletagBlacklistArgsThe set of arguments for constructing a AuthBackendRoletagBlacklist resource.
property backend
backend: pulumi.Input<string>;The path the AWS auth backend being configured was mounted at.
property disablePeriodicTidy
disablePeriodicTidy?: pulumi.Input<boolean>;If set to true, disables the periodic tidying of the roletag blacklist entries. Defaults to false.
property safetyBuffer
safetyBuffer?: pulumi.Input<number>;The amount of extra time that must have passed beyond the roletag expiration, before it is removed from the backend storage. Defaults to 259,200 seconds, or 72 hours.
interface AuthBackendRoletagBlacklistState
interface AuthBackendRoletagBlacklistStateInput properties used for looking up and filtering AuthBackendRoletagBlacklist resources.
property backend
backend?: pulumi.Input<string>;The path the AWS auth backend being configured was mounted at.
property disablePeriodicTidy
disablePeriodicTidy?: pulumi.Input<boolean>;If set to true, disables the periodic tidying of the roletag blacklist entries. Defaults to false.
property safetyBuffer
safetyBuffer?: pulumi.Input<number>;The amount of extra time that must have passed beyond the roletag expiration, before it is removed from the backend storage. Defaults to 259,200 seconds, or 72 hours.
interface AuthBackendRoleTagState
interface AuthBackendRoleTagStateInput properties used for looking up and filtering AuthBackendRoleTag resources.
property allowInstanceMigration
allowInstanceMigration?: pulumi.Input<boolean>;If set, allows migration of the underlying instances where the client resides. Use with caution.
property backend
backend?: pulumi.Input<string>;The path to the AWS auth backend to
read role tags from, with no leading or trailing /s. Defaults to “aws”.
property disallowReauthentication
disallowReauthentication?: pulumi.Input<boolean>;If set, only allows a single token to be granted per instance ID.
property instanceId
instanceId?: pulumi.Input<string>;Instance ID for which this tag is intended for. If set, the created tag can only be used by the instance with the given ID.
property maxTtl
maxTtl?: pulumi.Input<string>;The maximum TTL of the tokens issued using this role.
property policies
policies?: pulumi.Input<pulumi.Input<string>[]>;The policies to be associated with the tag. Must be a subset of the policies associated with the role.
property role
role?: pulumi.Input<string>;The name of the AWS auth backend role to read
role tags from, with no leading or trailing /s.
property tagKey
tagKey?: pulumi.Input<string>;The key of the role tag.
property tagValue
tagValue?: pulumi.Input<string>;The value to set the role key.
interface AuthBackendStsRoleArgs
interface AuthBackendStsRoleArgsThe set of arguments for constructing a AuthBackendStsRole resource.
property accountId
accountId: pulumi.Input<string>;The AWS account ID to configure the STS role for.
property backend
backend?: pulumi.Input<string>;The path the AWS auth backend being configured was
mounted at. Defaults to aws.
property stsRole
stsRole: pulumi.Input<string>;The STS role to assume when verifying requests made
by EC2 instances in the account specified by accountId.
interface AuthBackendStsRoleState
interface AuthBackendStsRoleStateInput properties used for looking up and filtering AuthBackendStsRole resources.
property accountId
accountId?: pulumi.Input<string>;The AWS account ID to configure the STS role for.
property backend
backend?: pulumi.Input<string>;The path the AWS auth backend being configured was
mounted at. Defaults to aws.
property stsRole
stsRole?: pulumi.Input<string>;The STS role to assume when verifying requests made
by EC2 instances in the account specified by accountId.
interface GetAccessCredentialsArgs
interface GetAccessCredentialsArgsA collection of arguments for invoking getAccessCredentials.
property backend
backend: string;The path to the AWS secret backend to
read credentials from, with no leading or trailing /s.
property role
role: string;The name of the AWS secret backend role to read
credentials from, with no leading or trailing /s.
property roleArn
roleArn?: undefined | string;The specific AWS ARN to use from the configured role. If the role does not have multiple ARNs, this does not need to be specified.
property type
type?: undefined | string;The type of credentials to read. Defaults
to "creds", which just returns an AWS Access Key ID and Secret
Key. Can also be set to "sts", which will return a security token
in addition to the keys.
interface GetAccessCredentialsResult
interface GetAccessCredentialsResultA collection of values returned by getAccessCredentials.
property accessKey
accessKey: string;The AWS Access Key ID returned by Vault.
property backend
backend: string;property id
id: string;The provider-assigned unique ID for this managed resource.
property leaseDuration
leaseDuration: number;The duration of the secret lease, in seconds relative to the time the data was requested. Once this time has passed any plan generated with this data may fail to apply.
property leaseId
leaseId: string;The lease identifier assigned by Vault.
property leaseRenewable
leaseRenewable: boolean;property leaseStartTime
leaseStartTime: string;property role
role: string;property roleArn
roleArn?: undefined | string;property secretKey
secretKey: string;The AWS Secret Key returned by Vault.
property securityToken
securityToken: string;The STS token returned by Vault, if any.
property type
type?: undefined | string;interface SecretBackendArgs
interface SecretBackendArgsThe set of arguments for constructing a SecretBackend resource.
property accessKey
accessKey?: pulumi.Input<string>;The AWS Access Key ID this backend should use to issue new credentials. Vault uses the official AWS SDK to authenticate, and thus can also use standard AWS environment credentials, shared file credentials or IAM role/ECS task credentials.
property defaultLeaseTtlSeconds
defaultLeaseTtlSeconds?: pulumi.Input<number>;The default TTL for credentials issued by this backend.
property description
description?: pulumi.Input<string>;A human-friendly description for this backend.
property maxLeaseTtlSeconds
maxLeaseTtlSeconds?: pulumi.Input<number>;The maximum TTL that can be requested for credentials issued by this backend.
property path
path?: pulumi.Input<string>;The unique path this backend should be mounted at. Must
not begin or end with a /. Defaults to aws.
property region
region?: pulumi.Input<string>;The AWS region for API calls. Defaults to us-east-1.
property secretKey
secretKey?: pulumi.Input<string>;The AWS Secret Key this backend should use to issue new credentials. Vault uses the official AWS SDK to authenticate, and thus can also use standard AWS environment credentials, shared file credentials or IAM role/ECS task credentials.
interface SecretBackendRoleArgs
interface SecretBackendRoleArgsThe set of arguments for constructing a SecretBackendRole resource.
property backend
backend: pulumi.Input<string>;The path the AWS secret backend is mounted at,
with no leading or trailing /s.
property credentialType
credentialType: pulumi.Input<string>;Specifies the type of credential to be used when
retrieving credentials from the role. Must be one of iamUser, assumedRole, or
federationToken.
property defaultStsTtl
defaultStsTtl?: pulumi.Input<number>;The default TTL in seconds for STS credentials.
When a TTL is not specified when STS credentials are requested,
and a default TTL is specified on the role,
then this default TTL will be used. Valid only when credentialType is one of
assumedRole or federationToken.
property maxStsTtl
maxStsTtl?: pulumi.Input<number>;The max allowed TTL in seconds for STS credentials
(credentials TTL are capped to maxStsTtl). Valid only when credentialType is
one of assumedRole or federationToken.
property name
name?: pulumi.Input<string>;The name to identify this role within the backend. Must be unique within the backend.
property policyArns
policyArns?: pulumi.Input<pulumi.Input<string>[]>;Specifies a list of AWS managed policy ARNs. The
behavior depends on the credential type. With iamUser, the policies will be
attached to IAM users when they are requested. With assumedRole and
federationToken, the policy ARNs will act as a filter on what the credentials
can do, similar to policyDocument. When credentialType is iamUser or
federationToken, at least one of policyDocument or policyArns must
be specified.
property policyDocument
policyDocument?: pulumi.Input<string>;The IAM policy document for the role. The
behavior depends on the credential type. With iamUser, the policy document
will be attached to the IAM user generated and augment the permissions the IAM
user has. With assumedRole and federationToken, the policy document will
act as a filter on what the credentials can do, similar to policyArns.
property roleArns
roleArns?: pulumi.Input<pulumi.Input<string>[]>;Specifies the ARNs of the AWS roles this Vault role
is allowed to assume. Required when credentialType is assumedRole and
prohibited otherwise.
interface SecretBackendRoleState
interface SecretBackendRoleStateInput properties used for looking up and filtering SecretBackendRole resources.
property backend
backend?: pulumi.Input<string>;The path the AWS secret backend is mounted at,
with no leading or trailing /s.
property credentialType
credentialType?: pulumi.Input<string>;Specifies the type of credential to be used when
retrieving credentials from the role. Must be one of iamUser, assumedRole, or
federationToken.
property defaultStsTtl
defaultStsTtl?: pulumi.Input<number>;The default TTL in seconds for STS credentials.
When a TTL is not specified when STS credentials are requested,
and a default TTL is specified on the role,
then this default TTL will be used. Valid only when credentialType is one of
assumedRole or federationToken.
property maxStsTtl
maxStsTtl?: pulumi.Input<number>;The max allowed TTL in seconds for STS credentials
(credentials TTL are capped to maxStsTtl). Valid only when credentialType is
one of assumedRole or federationToken.
property name
name?: pulumi.Input<string>;The name to identify this role within the backend. Must be unique within the backend.
property policyArns
policyArns?: pulumi.Input<pulumi.Input<string>[]>;Specifies a list of AWS managed policy ARNs. The
behavior depends on the credential type. With iamUser, the policies will be
attached to IAM users when they are requested. With assumedRole and
federationToken, the policy ARNs will act as a filter on what the credentials
can do, similar to policyDocument. When credentialType is iamUser or
federationToken, at least one of policyDocument or policyArns must
be specified.
property policyDocument
policyDocument?: pulumi.Input<string>;The IAM policy document for the role. The
behavior depends on the credential type. With iamUser, the policy document
will be attached to the IAM user generated and augment the permissions the IAM
user has. With assumedRole and federationToken, the policy document will
act as a filter on what the credentials can do, similar to policyArns.
property roleArns
roleArns?: pulumi.Input<pulumi.Input<string>[]>;Specifies the ARNs of the AWS roles this Vault role
is allowed to assume. Required when credentialType is assumedRole and
prohibited otherwise.
interface SecretBackendState
interface SecretBackendStateInput properties used for looking up and filtering SecretBackend resources.
property accessKey
accessKey?: pulumi.Input<string>;The AWS Access Key ID this backend should use to issue new credentials. Vault uses the official AWS SDK to authenticate, and thus can also use standard AWS environment credentials, shared file credentials or IAM role/ECS task credentials.
property defaultLeaseTtlSeconds
defaultLeaseTtlSeconds?: pulumi.Input<number>;The default TTL for credentials issued by this backend.
property description
description?: pulumi.Input<string>;A human-friendly description for this backend.
property maxLeaseTtlSeconds
maxLeaseTtlSeconds?: pulumi.Input<number>;The maximum TTL that can be requested for credentials issued by this backend.
property path
path?: pulumi.Input<string>;The unique path this backend should be mounted at. Must
not begin or end with a /. Defaults to aws.
property region
region?: pulumi.Input<string>;The AWS region for API calls. Defaults to us-east-1.
property secretKey
secretKey?: pulumi.Input<string>;The AWS Secret Key this backend should use to issue new credentials. Vault uses the official AWS SDK to authenticate, and thus can also use standard AWS environment credentials, shared file credentials or IAM role/ECS task credentials.