Documentation ¶
Index ¶
- func NewVaultProvider_Override(v VaultProvider, scope constructs.Construct, id *string, ...)
- func VaultProvider_GenerateConfigForImport(scope constructs.Construct, importToId *string, importFromId *string, ...) cdktf.ImportableResource
- func VaultProvider_IsConstruct(x interface{}) *bool
- func VaultProvider_IsTerraformElement(x interface{}) *bool
- func VaultProvider_IsTerraformProvider(x interface{}) *bool
- func VaultProvider_TfResourceType() *string
- type VaultProvider
- type VaultProviderAuthLogin
- type VaultProviderAuthLoginAws
- type VaultProviderAuthLoginAzure
- type VaultProviderAuthLoginCert
- type VaultProviderAuthLoginGcp
- type VaultProviderAuthLoginJwt
- type VaultProviderAuthLoginKerberos
- type VaultProviderAuthLoginOci
- type VaultProviderAuthLoginOidc
- type VaultProviderAuthLoginRadius
- type VaultProviderAuthLoginTokenFile
- type VaultProviderAuthLoginUserpass
- type VaultProviderClientAuth
- type VaultProviderConfig
- type VaultProviderHeaders
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewVaultProvider_Override ¶
func NewVaultProvider_Override(v VaultProvider, scope constructs.Construct, id *string, config *VaultProviderConfig)
Create a new {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs vault} Resource.
func VaultProvider_GenerateConfigForImport ¶
func VaultProvider_GenerateConfigForImport(scope constructs.Construct, importToId *string, importFromId *string, provider cdktf.TerraformProvider) cdktf.ImportableResource
Generates CDKTF code for importing a VaultProvider resource upon running "cdktf plan <stack-name>".
func VaultProvider_IsConstruct ¶
func VaultProvider_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func VaultProvider_IsTerraformElement ¶
func VaultProvider_IsTerraformElement(x interface{}) *bool
Experimental.
func VaultProvider_IsTerraformProvider ¶
func VaultProvider_IsTerraformProvider(x interface{}) *bool
Experimental.
func VaultProvider_TfResourceType ¶
func VaultProvider_TfResourceType() *string
Types ¶
type VaultProvider ¶
type VaultProvider interface { cdktf.TerraformProvider AddAddressToEnv() *string SetAddAddressToEnv(val *string) AddAddressToEnvInput() *string Address() *string SetAddress(val *string) AddressInput() *string Alias() *string SetAlias(val *string) AliasInput() *string AuthLogin() *VaultProviderAuthLogin SetAuthLogin(val *VaultProviderAuthLogin) AuthLoginAws() *VaultProviderAuthLoginAws SetAuthLoginAws(val *VaultProviderAuthLoginAws) AuthLoginAwsInput() *VaultProviderAuthLoginAws AuthLoginAzure() *VaultProviderAuthLoginAzure SetAuthLoginAzure(val *VaultProviderAuthLoginAzure) AuthLoginAzureInput() *VaultProviderAuthLoginAzure AuthLoginCert() *VaultProviderAuthLoginCert SetAuthLoginCert(val *VaultProviderAuthLoginCert) AuthLoginCertInput() *VaultProviderAuthLoginCert AuthLoginGcp() *VaultProviderAuthLoginGcp SetAuthLoginGcp(val *VaultProviderAuthLoginGcp) AuthLoginGcpInput() *VaultProviderAuthLoginGcp AuthLoginInput() *VaultProviderAuthLogin AuthLoginJwt() *VaultProviderAuthLoginJwt SetAuthLoginJwt(val *VaultProviderAuthLoginJwt) AuthLoginJwtInput() *VaultProviderAuthLoginJwt AuthLoginKerberos() *VaultProviderAuthLoginKerberos SetAuthLoginKerberos(val *VaultProviderAuthLoginKerberos) AuthLoginKerberosInput() *VaultProviderAuthLoginKerberos AuthLoginOci() *VaultProviderAuthLoginOci SetAuthLoginOci(val *VaultProviderAuthLoginOci) AuthLoginOciInput() *VaultProviderAuthLoginOci AuthLoginOidc() *VaultProviderAuthLoginOidc SetAuthLoginOidc(val *VaultProviderAuthLoginOidc) AuthLoginOidcInput() *VaultProviderAuthLoginOidc AuthLoginRadius() *VaultProviderAuthLoginRadius SetAuthLoginRadius(val *VaultProviderAuthLoginRadius) AuthLoginRadiusInput() *VaultProviderAuthLoginRadius AuthLoginTokenFile() *VaultProviderAuthLoginTokenFile SetAuthLoginTokenFile(val *VaultProviderAuthLoginTokenFile) AuthLoginTokenFileInput() *VaultProviderAuthLoginTokenFile AuthLoginUserpass() *VaultProviderAuthLoginUserpass SetAuthLoginUserpass(val *VaultProviderAuthLoginUserpass) AuthLoginUserpassInput() *VaultProviderAuthLoginUserpass CaCertDir() *string SetCaCertDir(val *string) CaCertDirInput() *string CaCertFile() *string SetCaCertFile(val *string) CaCertFileInput() *string // Experimental. CdktfStack() cdktf.TerraformStack ClientAuth() *VaultProviderClientAuth SetClientAuth(val *VaultProviderClientAuth) ClientAuthInput() *VaultProviderClientAuth // Experimental. ConstructNodeMetadata() *map[string]interface{} // Experimental. Fqn() *string // Experimental. FriendlyUniqueId() *string Headers() interface{} SetHeaders(val interface{}) HeadersInput() interface{} MaxLeaseTtlSeconds() *float64 SetMaxLeaseTtlSeconds(val *float64) MaxLeaseTtlSecondsInput() *float64 MaxRetries() *float64 SetMaxRetries(val *float64) MaxRetriesCcc() *float64 SetMaxRetriesCcc(val *float64) MaxRetriesCccInput() *float64 MaxRetriesInput() *float64 // Experimental. MetaAttributes() *map[string]interface{} Namespace() *string SetNamespace(val *string) NamespaceInput() *string // The tree node. Node() constructs.Node // Experimental. RawOverrides() interface{} SetNamespaceFromToken() interface{} SetSetNamespaceFromToken(val interface{}) SetNamespaceFromTokenInput() interface{} SkipChildToken() interface{} SetSkipChildToken(val interface{}) SkipChildTokenInput() interface{} SkipGetVaultVersion() interface{} SetSkipGetVaultVersion(val interface{}) SkipGetVaultVersionInput() interface{} SkipTlsVerify() interface{} SetSkipTlsVerify(val interface{}) SkipTlsVerifyInput() interface{} // Experimental. TerraformGeneratorMetadata() *cdktf.TerraformProviderGeneratorMetadata // Experimental. TerraformProviderSource() *string // Experimental. TerraformResourceType() *string TlsServerName() *string SetTlsServerName(val *string) TlsServerNameInput() *string Token() *string SetToken(val *string) TokenInput() *string TokenName() *string SetTokenName(val *string) TokenNameInput() *string VaultVersionOverride() *string SetVaultVersionOverride(val *string) VaultVersionOverrideInput() *string // Experimental. AddOverride(path *string, value interface{}) // Overrides the auto-generated logical ID with a specific ID. // Experimental. OverrideLogicalId(newLogicalId *string) ResetAddAddressToEnv() ResetAlias() ResetAuthLogin() ResetAuthLoginAws() ResetAuthLoginAzure() ResetAuthLoginCert() ResetAuthLoginGcp() ResetAuthLoginJwt() ResetAuthLoginKerberos() ResetAuthLoginOci() ResetAuthLoginOidc() ResetAuthLoginRadius() ResetAuthLoginTokenFile() ResetAuthLoginUserpass() ResetCaCertDir() ResetCaCertFile() ResetClientAuth() ResetHeaders() ResetMaxLeaseTtlSeconds() ResetMaxRetries() ResetMaxRetriesCcc() ResetNamespace() // Resets a previously passed logical Id to use the auto-generated logical id again. // Experimental. ResetOverrideLogicalId() ResetSetNamespaceFromToken() ResetSkipChildToken() ResetSkipGetVaultVersion() ResetSkipTlsVerify() ResetTlsServerName() ResetToken() ResetTokenName() ResetVaultVersionOverride() SynthesizeAttributes() *map[string]interface{} SynthesizeHclAttributes() *map[string]interface{} // Experimental. ToHclTerraform() interface{} // Experimental. ToMetadata() interface{} // Returns a string representation of this construct. ToString() *string // Adds this resource to the terraform JSON output. // Experimental. ToTerraform() interface{} }
Represents a {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs vault}.
func NewVaultProvider ¶
func NewVaultProvider(scope constructs.Construct, id *string, config *VaultProviderConfig) VaultProvider
Create a new {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs vault} Resource.
type VaultProviderAuthLogin ¶
type VaultProviderAuthLogin struct { // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#path VaultProvider#path}. Path *string `field:"required" json:"path" yaml:"path"` // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#method VaultProvider#method}. Method *string `field:"optional" json:"method" yaml:"method"` // The authentication engine's namespace. Conflicts with use_root_namespace. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#namespace VaultProvider#namespace} Namespace *string `field:"optional" json:"namespace" yaml:"namespace"` // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#parameters VaultProvider#parameters}. Parameters *map[string]*string `field:"optional" json:"parameters" yaml:"parameters"` // Authenticate to the root Vault namespace. Conflicts with namespace. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#use_root_namespace VaultProvider#use_root_namespace} UseRootNamespace interface{} `field:"optional" json:"useRootNamespace" yaml:"useRootNamespace"` }
type VaultProviderAuthLoginAws ¶
type VaultProviderAuthLoginAws struct { // The Vault role to use when logging into Vault. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#role VaultProvider#role} Role *string `field:"required" json:"role" yaml:"role"` // The AWS access key ID. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#aws_access_key_id VaultProvider#aws_access_key_id} AwsAccessKeyId *string `field:"optional" json:"awsAccessKeyId" yaml:"awsAccessKeyId"` // The IAM endpoint URL. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#aws_iam_endpoint VaultProvider#aws_iam_endpoint} AwsIamEndpoint *string `field:"optional" json:"awsIamEndpoint" yaml:"awsIamEndpoint"` // The name of the AWS profile. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#aws_profile VaultProvider#aws_profile} AwsProfile *string `field:"optional" json:"awsProfile" yaml:"awsProfile"` // The AWS region. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#aws_region VaultProvider#aws_region} AwsRegion *string `field:"optional" json:"awsRegion" yaml:"awsRegion"` // The ARN of the AWS Role to assume.Used during STS AssumeRole. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#aws_role_arn VaultProvider#aws_role_arn} AwsRoleArn *string `field:"optional" json:"awsRoleArn" yaml:"awsRoleArn"` // Specifies the name to attach to the AWS role session. Used during STS AssumeRole. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#aws_role_session_name VaultProvider#aws_role_session_name} AwsRoleSessionName *string `field:"optional" json:"awsRoleSessionName" yaml:"awsRoleSessionName"` // The AWS secret access key. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#aws_secret_access_key VaultProvider#aws_secret_access_key} AwsSecretAccessKey *string `field:"optional" json:"awsSecretAccessKey" yaml:"awsSecretAccessKey"` // The AWS session token. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#aws_session_token VaultProvider#aws_session_token} AwsSessionToken *string `field:"optional" json:"awsSessionToken" yaml:"awsSessionToken"` // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#aws_shared_credentials_file VaultProvider#aws_shared_credentials_file} AwsSharedCredentialsFile *string `field:"optional" json:"awsSharedCredentialsFile" yaml:"awsSharedCredentialsFile"` // The STS endpoint URL. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#aws_sts_endpoint VaultProvider#aws_sts_endpoint} AwsStsEndpoint *string `field:"optional" json:"awsStsEndpoint" yaml:"awsStsEndpoint"` // Path to the file containing an OAuth 2.0 access token or OpenID Connect ID token. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#aws_web_identity_token_file VaultProvider#aws_web_identity_token_file} AwsWebIdentityTokenFile *string `field:"optional" json:"awsWebIdentityTokenFile" yaml:"awsWebIdentityTokenFile"` // The Vault header value to include in the STS signing request. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#header_value VaultProvider#header_value} HeaderValue *string `field:"optional" json:"headerValue" yaml:"headerValue"` // The path where the authentication engine is mounted. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#mount VaultProvider#mount} Mount *string `field:"optional" json:"mount" yaml:"mount"` // The authentication engine's namespace. Conflicts with use_root_namespace. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#namespace VaultProvider#namespace} Namespace *string `field:"optional" json:"namespace" yaml:"namespace"` // Authenticate to the root Vault namespace. Conflicts with namespace. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#use_root_namespace VaultProvider#use_root_namespace} UseRootNamespace interface{} `field:"optional" json:"useRootNamespace" yaml:"useRootNamespace"` }
type VaultProviderAuthLoginAzure ¶
type VaultProviderAuthLoginAzure struct { // The resource group for the machine that generated the MSI token. This information can be obtained through instance metadata. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#resource_group_name VaultProvider#resource_group_name} ResourceGroupName *string `field:"required" json:"resourceGroupName" yaml:"resourceGroupName"` // Name of the login role. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#role VaultProvider#role} Role *string `field:"required" json:"role" yaml:"role"` // The subscription ID for the machine that generated the MSI token. This information can be obtained through instance metadata. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#subscription_id VaultProvider#subscription_id} SubscriptionId *string `field:"required" json:"subscriptionId" yaml:"subscriptionId"` // The identity's client ID. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#client_id VaultProvider#client_id} ClientId *string `field:"optional" json:"clientId" yaml:"clientId"` // A signed JSON Web Token. If not specified on will be created automatically. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#jwt VaultProvider#jwt} Jwt *string `field:"optional" json:"jwt" yaml:"jwt"` // The path where the authentication engine is mounted. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#mount VaultProvider#mount} Mount *string `field:"optional" json:"mount" yaml:"mount"` // The authentication engine's namespace. Conflicts with use_root_namespace. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#namespace VaultProvider#namespace} Namespace *string `field:"optional" json:"namespace" yaml:"namespace"` // The scopes to include in the token request. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#scope VaultProvider#scope} Scope *string `field:"optional" json:"scope" yaml:"scope"` // Provides the tenant ID to use in a multi-tenant authentication scenario. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#tenant_id VaultProvider#tenant_id} TenantId *string `field:"optional" json:"tenantId" yaml:"tenantId"` // Authenticate to the root Vault namespace. Conflicts with namespace. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#use_root_namespace VaultProvider#use_root_namespace} UseRootNamespace interface{} `field:"optional" json:"useRootNamespace" yaml:"useRootNamespace"` // The virtual machine name for the machine that generated the MSI token. // // This information can be obtained through instance metadata. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#vm_name VaultProvider#vm_name} VmName *string `field:"optional" json:"vmName" yaml:"vmName"` // The virtual machine scale set name for the machine that generated the MSI token. // // This information can be obtained through instance metadata. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#vmss_name VaultProvider#vmss_name} VmssName *string `field:"optional" json:"vmssName" yaml:"vmssName"` }
type VaultProviderAuthLoginCert ¶
type VaultProviderAuthLoginCert struct { // Path to a file containing the client certificate. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#cert_file VaultProvider#cert_file} CertFile *string `field:"required" json:"certFile" yaml:"certFile"` // Path to a file containing the private key that the certificate was issued for. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#key_file VaultProvider#key_file} KeyFile *string `field:"required" json:"keyFile" yaml:"keyFile"` // The path where the authentication engine is mounted. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#mount VaultProvider#mount} Mount *string `field:"optional" json:"mount" yaml:"mount"` // Name of the certificate's role. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#name VaultProvider#name} Name *string `field:"optional" json:"name" yaml:"name"` // The authentication engine's namespace. Conflicts with use_root_namespace. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#namespace VaultProvider#namespace} Namespace *string `field:"optional" json:"namespace" yaml:"namespace"` // Authenticate to the root Vault namespace. Conflicts with namespace. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#use_root_namespace VaultProvider#use_root_namespace} UseRootNamespace interface{} `field:"optional" json:"useRootNamespace" yaml:"useRootNamespace"` }
type VaultProviderAuthLoginGcp ¶
type VaultProviderAuthLoginGcp struct { // Name of the login role. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#role VaultProvider#role} Role *string `field:"required" json:"role" yaml:"role"` // Path to the Google Cloud credentials file. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#credentials VaultProvider#credentials} Credentials *string `field:"optional" json:"credentials" yaml:"credentials"` // A signed JSON Web Token. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#jwt VaultProvider#jwt} Jwt *string `field:"optional" json:"jwt" yaml:"jwt"` // The path where the authentication engine is mounted. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#mount VaultProvider#mount} Mount *string `field:"optional" json:"mount" yaml:"mount"` // The authentication engine's namespace. Conflicts with use_root_namespace. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#namespace VaultProvider#namespace} Namespace *string `field:"optional" json:"namespace" yaml:"namespace"` // IAM service account. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#service_account VaultProvider#service_account} ServiceAccount *string `field:"optional" json:"serviceAccount" yaml:"serviceAccount"` // Authenticate to the root Vault namespace. Conflicts with namespace. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#use_root_namespace VaultProvider#use_root_namespace} UseRootNamespace interface{} `field:"optional" json:"useRootNamespace" yaml:"useRootNamespace"` }
type VaultProviderAuthLoginJwt ¶
type VaultProviderAuthLoginJwt struct { // A signed JSON Web Token. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#jwt VaultProvider#jwt} Jwt *string `field:"required" json:"jwt" yaml:"jwt"` // Name of the login role. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#role VaultProvider#role} Role *string `field:"required" json:"role" yaml:"role"` // The path where the authentication engine is mounted. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#mount VaultProvider#mount} Mount *string `field:"optional" json:"mount" yaml:"mount"` // The authentication engine's namespace. Conflicts with use_root_namespace. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#namespace VaultProvider#namespace} Namespace *string `field:"optional" json:"namespace" yaml:"namespace"` // Authenticate to the root Vault namespace. Conflicts with namespace. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#use_root_namespace VaultProvider#use_root_namespace} UseRootNamespace interface{} `field:"optional" json:"useRootNamespace" yaml:"useRootNamespace"` }
type VaultProviderAuthLoginKerberos ¶
type VaultProviderAuthLoginKerberos struct { // Disable the Kerberos FAST negotiation. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#disable_fast_negotiation VaultProvider#disable_fast_negotiation} DisableFastNegotiation interface{} `field:"optional" json:"disableFastNegotiation" yaml:"disableFastNegotiation"` // The Kerberos keytab file containing the entry of the login entity. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#keytab_path VaultProvider#keytab_path} KeytabPath *string `field:"optional" json:"keytabPath" yaml:"keytabPath"` // A valid Kerberos configuration file e.g. /etc/krb5.conf. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#krb5conf_path VaultProvider#krb5conf_path} Krb5ConfPath *string `field:"optional" json:"krb5ConfPath" yaml:"krb5ConfPath"` // The path where the authentication engine is mounted. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#mount VaultProvider#mount} Mount *string `field:"optional" json:"mount" yaml:"mount"` // The authentication engine's namespace. Conflicts with use_root_namespace. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#namespace VaultProvider#namespace} Namespace *string `field:"optional" json:"namespace" yaml:"namespace"` // The Kerberos server's authoritative authentication domain. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#realm VaultProvider#realm} Realm *string `field:"optional" json:"realm" yaml:"realm"` // Strip the host from the username found in the keytab. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#remove_instance_name VaultProvider#remove_instance_name} RemoveInstanceName interface{} `field:"optional" json:"removeInstanceName" yaml:"removeInstanceName"` // The service principle name. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#service VaultProvider#service} Service *string `field:"optional" json:"service" yaml:"service"` // Simple and Protected GSSAPI Negotiation Mechanism (SPNEGO) token. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#token VaultProvider#token} Token *string `field:"optional" json:"token" yaml:"token"` // The username to login into Kerberos with. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#username VaultProvider#username} Username *string `field:"optional" json:"username" yaml:"username"` // Authenticate to the root Vault namespace. Conflicts with namespace. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#use_root_namespace VaultProvider#use_root_namespace} UseRootNamespace interface{} `field:"optional" json:"useRootNamespace" yaml:"useRootNamespace"` }
type VaultProviderAuthLoginOci ¶
type VaultProviderAuthLoginOci struct { // Authentication type to use when getting OCI credentials. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#auth_type VaultProvider#auth_type} AuthType *string `field:"required" json:"authType" yaml:"authType"` // Name of the login role. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#role VaultProvider#role} Role *string `field:"required" json:"role" yaml:"role"` // The path where the authentication engine is mounted. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#mount VaultProvider#mount} Mount *string `field:"optional" json:"mount" yaml:"mount"` // The authentication engine's namespace. Conflicts with use_root_namespace. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#namespace VaultProvider#namespace} Namespace *string `field:"optional" json:"namespace" yaml:"namespace"` // Authenticate to the root Vault namespace. Conflicts with namespace. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#use_root_namespace VaultProvider#use_root_namespace} UseRootNamespace interface{} `field:"optional" json:"useRootNamespace" yaml:"useRootNamespace"` }
type VaultProviderAuthLoginOidc ¶
type VaultProviderAuthLoginOidc struct { // Name of the login role. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#role VaultProvider#role} Role *string `field:"required" json:"role" yaml:"role"` // The callback address. Must be a valid URI without the path. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#callback_address VaultProvider#callback_address} CallbackAddress *string `field:"optional" json:"callbackAddress" yaml:"callbackAddress"` // The callback listener's address. Must be a valid URI without the path. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#callback_listener_address VaultProvider#callback_listener_address} CallbackListenerAddress *string `field:"optional" json:"callbackListenerAddress" yaml:"callbackListenerAddress"` // The path where the authentication engine is mounted. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#mount VaultProvider#mount} Mount *string `field:"optional" json:"mount" yaml:"mount"` // The authentication engine's namespace. Conflicts with use_root_namespace. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#namespace VaultProvider#namespace} Namespace *string `field:"optional" json:"namespace" yaml:"namespace"` // Authenticate to the root Vault namespace. Conflicts with namespace. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#use_root_namespace VaultProvider#use_root_namespace} UseRootNamespace interface{} `field:"optional" json:"useRootNamespace" yaml:"useRootNamespace"` }
type VaultProviderAuthLoginRadius ¶
type VaultProviderAuthLoginRadius struct { // The Radius password for username. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#password VaultProvider#password} Password *string `field:"required" json:"password" yaml:"password"` // The Radius username. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#username VaultProvider#username} Username *string `field:"required" json:"username" yaml:"username"` // The path where the authentication engine is mounted. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#mount VaultProvider#mount} Mount *string `field:"optional" json:"mount" yaml:"mount"` // The authentication engine's namespace. Conflicts with use_root_namespace. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#namespace VaultProvider#namespace} Namespace *string `field:"optional" json:"namespace" yaml:"namespace"` // Authenticate to the root Vault namespace. Conflicts with namespace. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#use_root_namespace VaultProvider#use_root_namespace} UseRootNamespace interface{} `field:"optional" json:"useRootNamespace" yaml:"useRootNamespace"` }
type VaultProviderAuthLoginTokenFile ¶
type VaultProviderAuthLoginTokenFile struct { // The name of a file containing a single line that is a valid Vault token. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#filename VaultProvider#filename} Filename *string `field:"required" json:"filename" yaml:"filename"` // The authentication engine's namespace. Conflicts with use_root_namespace. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#namespace VaultProvider#namespace} Namespace *string `field:"optional" json:"namespace" yaml:"namespace"` // Authenticate to the root Vault namespace. Conflicts with namespace. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#use_root_namespace VaultProvider#use_root_namespace} UseRootNamespace interface{} `field:"optional" json:"useRootNamespace" yaml:"useRootNamespace"` }
type VaultProviderAuthLoginUserpass ¶
type VaultProviderAuthLoginUserpass struct { // Login with username. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#username VaultProvider#username} Username *string `field:"required" json:"username" yaml:"username"` // The path where the authentication engine is mounted. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#mount VaultProvider#mount} Mount *string `field:"optional" json:"mount" yaml:"mount"` // The authentication engine's namespace. Conflicts with use_root_namespace. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#namespace VaultProvider#namespace} Namespace *string `field:"optional" json:"namespace" yaml:"namespace"` // Login with password. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#password VaultProvider#password} Password *string `field:"optional" json:"password" yaml:"password"` // Login with password from a file. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#password_file VaultProvider#password_file} PasswordFile *string `field:"optional" json:"passwordFile" yaml:"passwordFile"` // Authenticate to the root Vault namespace. Conflicts with namespace. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#use_root_namespace VaultProvider#use_root_namespace} UseRootNamespace interface{} `field:"optional" json:"useRootNamespace" yaml:"useRootNamespace"` }
type VaultProviderClientAuth ¶
type VaultProviderClientAuth struct { // Path to a file containing the client certificate. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#cert_file VaultProvider#cert_file} CertFile *string `field:"optional" json:"certFile" yaml:"certFile"` // Path to a file containing the private key that the certificate was issued for. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#key_file VaultProvider#key_file} KeyFile *string `field:"optional" json:"keyFile" yaml:"keyFile"` }
type VaultProviderConfig ¶
type VaultProviderConfig struct { // URL of the root of the target Vault server. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#address VaultProvider#address} Address *string `field:"required" json:"address" yaml:"address"` // If true, adds the value of the `address` argument to the Terraform process environment. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#add_address_to_env VaultProvider#add_address_to_env} AddAddressToEnv *string `field:"optional" json:"addAddressToEnv" yaml:"addAddressToEnv"` // Alias name. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#alias VaultProvider#alias} Alias *string `field:"optional" json:"alias" yaml:"alias"` // auth_login block. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#auth_login VaultProvider#auth_login} AuthLogin *VaultProviderAuthLogin `field:"optional" json:"authLogin" yaml:"authLogin"` // auth_login_aws block. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#auth_login_aws VaultProvider#auth_login_aws} AuthLoginAws *VaultProviderAuthLoginAws `field:"optional" json:"authLoginAws" yaml:"authLoginAws"` // auth_login_azure block. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#auth_login_azure VaultProvider#auth_login_azure} AuthLoginAzure *VaultProviderAuthLoginAzure `field:"optional" json:"authLoginAzure" yaml:"authLoginAzure"` // auth_login_cert block. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#auth_login_cert VaultProvider#auth_login_cert} AuthLoginCert *VaultProviderAuthLoginCert `field:"optional" json:"authLoginCert" yaml:"authLoginCert"` // auth_login_gcp block. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#auth_login_gcp VaultProvider#auth_login_gcp} AuthLoginGcp *VaultProviderAuthLoginGcp `field:"optional" json:"authLoginGcp" yaml:"authLoginGcp"` // auth_login_jwt block. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#auth_login_jwt VaultProvider#auth_login_jwt} AuthLoginJwt *VaultProviderAuthLoginJwt `field:"optional" json:"authLoginJwt" yaml:"authLoginJwt"` // auth_login_kerberos block. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#auth_login_kerberos VaultProvider#auth_login_kerberos} AuthLoginKerberos *VaultProviderAuthLoginKerberos `field:"optional" json:"authLoginKerberos" yaml:"authLoginKerberos"` // auth_login_oci block. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#auth_login_oci VaultProvider#auth_login_oci} AuthLoginOci *VaultProviderAuthLoginOci `field:"optional" json:"authLoginOci" yaml:"authLoginOci"` // auth_login_oidc block. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#auth_login_oidc VaultProvider#auth_login_oidc} AuthLoginOidc *VaultProviderAuthLoginOidc `field:"optional" json:"authLoginOidc" yaml:"authLoginOidc"` // auth_login_radius block. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#auth_login_radius VaultProvider#auth_login_radius} AuthLoginRadius *VaultProviderAuthLoginRadius `field:"optional" json:"authLoginRadius" yaml:"authLoginRadius"` // auth_login_token_file block. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#auth_login_token_file VaultProvider#auth_login_token_file} AuthLoginTokenFile *VaultProviderAuthLoginTokenFile `field:"optional" json:"authLoginTokenFile" yaml:"authLoginTokenFile"` // auth_login_userpass block. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#auth_login_userpass VaultProvider#auth_login_userpass} AuthLoginUserpass *VaultProviderAuthLoginUserpass `field:"optional" json:"authLoginUserpass" yaml:"authLoginUserpass"` // Path to directory containing CA certificate files to validate the server's certificate. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#ca_cert_dir VaultProvider#ca_cert_dir} CaCertDir *string `field:"optional" json:"caCertDir" yaml:"caCertDir"` // Path to a CA certificate file to validate the server's certificate. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#ca_cert_file VaultProvider#ca_cert_file} CaCertFile *string `field:"optional" json:"caCertFile" yaml:"caCertFile"` // client_auth block. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#client_auth VaultProvider#client_auth} ClientAuth *VaultProviderClientAuth `field:"optional" json:"clientAuth" yaml:"clientAuth"` // headers block. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#headers VaultProvider#headers} Headers interface{} `field:"optional" json:"headers" yaml:"headers"` // Maximum TTL for secret leases requested by this provider. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#max_lease_ttl_seconds VaultProvider#max_lease_ttl_seconds} MaxLeaseTtlSeconds *float64 `field:"optional" json:"maxLeaseTtlSeconds" yaml:"maxLeaseTtlSeconds"` // Maximum number of retries when a 5xx error code is encountered. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#max_retries VaultProvider#max_retries} MaxRetries *float64 `field:"optional" json:"maxRetries" yaml:"maxRetries"` // Maximum number of retries for Client Controlled Consistency related operations. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#max_retries_ccc VaultProvider#max_retries_ccc} MaxRetriesCcc *float64 `field:"optional" json:"maxRetriesCcc" yaml:"maxRetriesCcc"` // The namespace to use. Available only for Vault Enterprise. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#namespace VaultProvider#namespace} Namespace *string `field:"optional" json:"namespace" yaml:"namespace"` // In the case where the Vault token is for a specific namespace and the provider namespace is not configured, use the token namespace as the root namespace for all resources. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#set_namespace_from_token VaultProvider#set_namespace_from_token} SetNamespaceFromToken interface{} `field:"optional" json:"setNamespaceFromToken" yaml:"setNamespaceFromToken"` // Set this to true to prevent the creation of ephemeral child token used by this provider. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#skip_child_token VaultProvider#skip_child_token} SkipChildToken interface{} `field:"optional" json:"skipChildToken" yaml:"skipChildToken"` // Skip the dynamic fetching of the Vault server version. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#skip_get_vault_version VaultProvider#skip_get_vault_version} SkipGetVaultVersion interface{} `field:"optional" json:"skipGetVaultVersion" yaml:"skipGetVaultVersion"` // Set this to true only if the target Vault server is an insecure development instance. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#skip_tls_verify VaultProvider#skip_tls_verify} SkipTlsVerify interface{} `field:"optional" json:"skipTlsVerify" yaml:"skipTlsVerify"` // Name to use as the SNI host when connecting via TLS. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#tls_server_name VaultProvider#tls_server_name} TlsServerName *string `field:"optional" json:"tlsServerName" yaml:"tlsServerName"` // Token to use to authenticate to Vault. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#token VaultProvider#token} Token *string `field:"optional" json:"token" yaml:"token"` // Token name to use for creating the Vault child token. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#token_name VaultProvider#token_name} TokenName *string `field:"optional" json:"tokenName" yaml:"tokenName"` // Override the Vault server version, which is normally determined dynamically from the target Vault server. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#vault_version_override VaultProvider#vault_version_override} VaultVersionOverride *string `field:"optional" json:"vaultVersionOverride" yaml:"vaultVersionOverride"` }
type VaultProviderHeaders ¶
type VaultProviderHeaders struct { // The header name. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#name VaultProvider#name} Name *string `field:"required" json:"name" yaml:"name"` // The header value. // // Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/vault/4.5.0/docs#value VaultProvider#value} Value *string `field:"required" json:"value" yaml:"value"` }
Source Files ¶
- VaultProvider.go
- VaultProviderAuthLogin.go
- VaultProviderAuthLoginAws.go
- VaultProviderAuthLoginAzure.go
- VaultProviderAuthLoginCert.go
- VaultProviderAuthLoginGcp.go
- VaultProviderAuthLoginJwt.go
- VaultProviderAuthLoginKerberos.go
- VaultProviderAuthLoginOci.go
- VaultProviderAuthLoginOidc.go
- VaultProviderAuthLoginRadius.go
- VaultProviderAuthLoginTokenFile.go
- VaultProviderAuthLoginUserpass.go
- VaultProviderClientAuth.go
- VaultProviderConfig.go
- VaultProviderHeaders.go
- VaultProvider__checks.go
- main.go