Class SparkAWSCredentials.Builder

Object
org.apache.spark.streaming.kinesis.SparkAWSCredentials.Builder
Enclosing interface:
SparkAWSCredentials

public static class SparkAWSCredentials.Builder extends Object
Builder for SparkAWSCredentials instances.

Since:
2.2.0
  • Constructor Details

    • Builder

      public Builder()
  • Method Details

    • basicCredentials

      public SparkAWSCredentials.Builder basicCredentials(String accessKeyId, String secretKey)
      Use a basic AWS keypair for long-lived authorization.

      Parameters:
      accessKeyId - AWS access key ID
      secretKey - AWS secret key
      Returns:
      Reference to this SparkAWSCredentials.Builder
      Note:
      The given AWS keypair will be saved in DStream checkpoints if checkpointing is enabled. Make sure that your checkpoint directory is secure. Prefer using the default provider chain instead if possible (http://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/credentials.html#credentials-default).

    • build

      public SparkAWSCredentials build()
      Returns the appropriate instance of SparkAWSCredentials given the configured parameters.

      - The long-lived credentials will either be DefaultCredentials or BasicCredentials if they were provided.

      - If STS credentials were provided, the configured long-lived credentials will be added to them and the result will be returned.

      - The long-lived credentials will be returned otherwise.

      Returns:
      SparkAWSCredentials to use for configured parameters
    • stsCredentials

      public SparkAWSCredentials.Builder stsCredentials(String roleArn, String sessionName)
      Use STS to assume an IAM role for temporary session-based authentication. Will use configured long-lived credentials for authorizing to STS itself (either the default provider chain or a configured keypair).

      Parameters:
      roleArn - ARN of IAM role to assume via STS
      sessionName - Name to use for the STS session
      Returns:
      Reference to this SparkAWSCredentials.Builder
    • stsCredentials

      public SparkAWSCredentials.Builder stsCredentials(String roleArn, String sessionName, String externalId)
      Use STS to assume an IAM role for temporary session-based authentication. Will use configured long-lived credentials for authorizing to STS itself (either the default provider chain or a configured keypair). STS will validate the provided external ID with the one defined in the trust policy of the IAM role to be assumed (if one is present).

      Parameters:
      roleArn - ARN of IAM role to assume via STS
      sessionName - Name to use for the STS session
      externalId - External ID to validate against assumed IAM role's trust policy
      Returns:
      Reference to this SparkAWSCredentials.Builder