Class AwsSecretsManagerParameterProvider

java.lang.Object
org.apache.nifi.components.AbstractConfigurableComponent
org.apache.nifi.parameter.AbstractParameterProvider
org.apache.nifi.parameter.aws.AwsSecretsManagerParameterProvider
All Implemented Interfaces:
org.apache.nifi.components.ConfigurableComponent, org.apache.nifi.parameter.ParameterProvider, org.apache.nifi.parameter.VerifiableParameterProvider

@Tags({"aws","secretsmanager","secrets","manager"}) @CapabilityDescription("Fetches parameters from AWS SecretsManager. Each secret becomes a Parameter group, which can map to a Parameter Context, with key/value pairs in the secret mapping to Parameters in the group.") public class AwsSecretsManagerParameterProvider extends org.apache.nifi.parameter.AbstractParameterProvider implements org.apache.nifi.parameter.VerifiableParameterProvider
Reads secrets from AWS Secrets Manager to provide parameter values. Secrets must be created similar to the following AWS cli command:

aws secretsmanager create-secret --name "[Context]" --secret-string '{ "[Param]": "[secretValue]", "[Param2]": "[secretValue2]" }'

  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    (package private) static enum 
     
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final org.apache.nifi.components.PropertyDescriptor
    AWS credentials provider service
    private static final com.amazonaws.Protocol
     
    private static final String
     
    private final com.fasterxml.jackson.databind.ObjectMapper
     
    private static final List<org.apache.nifi.components.PropertyDescriptor>
     
    static final org.apache.nifi.components.PropertyDescriptor
     
    static final org.apache.nifi.components.PropertyDescriptor
     
    static final org.apache.nifi.components.PropertyDescriptor
     
    static final org.apache.nifi.components.PropertyDescriptor
     
    static final org.apache.nifi.components.PropertyDescriptor
     
    static final org.apache.nifi.components.PropertyDescriptor
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    (package private) com.amazonaws.services.secretsmanager.AWSSecretsManager
    configureClient(org.apache.nifi.controller.ConfigurationContext context)
     
    private static org.apache.nifi.components.AllowableValue
    createAllowableValue(com.amazonaws.regions.Regions region)
     
    protected com.amazonaws.ClientConfiguration
    createConfiguration(org.apache.nifi.controller.ConfigurationContext context)
     
    private org.apache.nifi.parameter.Parameter
    createParameter(String parameterName, String parameterValue)
     
    List<org.apache.nifi.parameter.ParameterGroup>
    fetchParameters(org.apache.nifi.controller.ConfigurationContext context)
     
    private List<org.apache.nifi.parameter.ParameterGroup>
    fetchSecret(com.amazonaws.services.secretsmanager.AWSSecretsManager secretsManager, String secretName)
     
    private static org.apache.nifi.components.AllowableValue[]
     
    protected com.amazonaws.auth.AWSCredentialsProvider
    getCredentialsProvider(org.apache.nifi.controller.ConfigurationContext context)
    Get credentials provider using the AWSCredentialsProviderService
    protected List<org.apache.nifi.components.PropertyDescriptor>
     
    private com.fasterxml.jackson.databind.node.ObjectNode
    parseSecret(String secretString)
     
    List<org.apache.nifi.components.ConfigVerificationResult>
    verify(org.apache.nifi.controller.ConfigurationContext context, org.apache.nifi.logging.ComponentLog verificationLogger)
     

    Methods inherited from class org.apache.nifi.parameter.AbstractParameterProvider

    getIdentifier, getLogger, getName, getNodeTypeProvider, init, initialize

    Methods inherited from class org.apache.nifi.components.AbstractConfigurableComponent

    customValidate, equals, getPropertyDescriptor, getPropertyDescriptors, getSupportedDynamicPropertyDescriptor, hashCode, onPropertyModified, toString, validate

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.apache.nifi.components.ConfigurableComponent

    getPropertyDescriptor, getPropertyDescriptors, onPropertyModified, validate
  • Field Details

    • SECRET_LISTING_STRATEGY

      public static final org.apache.nifi.components.PropertyDescriptor SECRET_LISTING_STRATEGY
    • SECRET_NAME_PATTERN

      public static final org.apache.nifi.components.PropertyDescriptor SECRET_NAME_PATTERN
    • SECRET_NAMES

      public static final org.apache.nifi.components.PropertyDescriptor SECRET_NAMES
    • AWS_CREDENTIALS_PROVIDER_SERVICE

      public static final org.apache.nifi.components.PropertyDescriptor AWS_CREDENTIALS_PROVIDER_SERVICE
      AWS credentials provider service
      See Also:
    • REGION

      public static final org.apache.nifi.components.PropertyDescriptor REGION
    • TIMEOUT

      public static final org.apache.nifi.components.PropertyDescriptor TIMEOUT
    • SSL_CONTEXT_SERVICE

      public static final org.apache.nifi.components.PropertyDescriptor SSL_CONTEXT_SERVICE
    • DEFAULT_USER_AGENT

      private static final String DEFAULT_USER_AGENT
      See Also:
    • DEFAULT_PROTOCOL

      private static final com.amazonaws.Protocol DEFAULT_PROTOCOL
    • PROPERTY_DESCRIPTORS

      private static final List<org.apache.nifi.components.PropertyDescriptor> PROPERTY_DESCRIPTORS
    • objectMapper

      private final com.fasterxml.jackson.databind.ObjectMapper objectMapper
  • Constructor Details

    • AwsSecretsManagerParameterProvider

      public AwsSecretsManagerParameterProvider()
  • Method Details

    • getSupportedPropertyDescriptors

      protected List<org.apache.nifi.components.PropertyDescriptor> getSupportedPropertyDescriptors()
      Overrides:
      getSupportedPropertyDescriptors in class org.apache.nifi.components.AbstractConfigurableComponent
    • fetchParameters

      public List<org.apache.nifi.parameter.ParameterGroup> fetchParameters(org.apache.nifi.controller.ConfigurationContext context)
      Specified by:
      fetchParameters in interface org.apache.nifi.parameter.ParameterProvider
    • verify

      public List<org.apache.nifi.components.ConfigVerificationResult> verify(org.apache.nifi.controller.ConfigurationContext context, org.apache.nifi.logging.ComponentLog verificationLogger)
      Specified by:
      verify in interface org.apache.nifi.parameter.VerifiableParameterProvider
    • fetchSecret

      private List<org.apache.nifi.parameter.ParameterGroup> fetchSecret(com.amazonaws.services.secretsmanager.AWSSecretsManager secretsManager, String secretName)
    • createParameter

      private org.apache.nifi.parameter.Parameter createParameter(String parameterName, String parameterValue)
    • createConfiguration

      protected com.amazonaws.ClientConfiguration createConfiguration(org.apache.nifi.controller.ConfigurationContext context)
    • parseSecret

      private com.fasterxml.jackson.databind.node.ObjectNode parseSecret(String secretString)
    • configureClient

      com.amazonaws.services.secretsmanager.AWSSecretsManager configureClient(org.apache.nifi.controller.ConfigurationContext context)
    • getCredentialsProvider

      protected com.amazonaws.auth.AWSCredentialsProvider getCredentialsProvider(org.apache.nifi.controller.ConfigurationContext context)
      Get credentials provider using the AWSCredentialsProviderService
      Parameters:
      context - the configuration context
      Returns:
      AWSCredentialsProvider the credential provider
      See Also:
    • createAllowableValue

      private static org.apache.nifi.components.AllowableValue createAllowableValue(com.amazonaws.regions.Regions region)
    • getAvailableRegions

      private static org.apache.nifi.components.AllowableValue[] getAvailableRegions()