ark::aws

Enums

Typedefs

Defined in “ark/aws/auth_client.hh”:

Defined in “ark/aws/forward.hh”:

Defined in “ark/aws/lambda_host.hh”:

  • using LambdaFunction = std::function< void()>
    The function signature for code that executes in the lambda.

Defined in “ark/aws/s3client.hh”:

  • using S3ProgressCallback = std::function< void(uint64_t)>
    This callback will be invoked periodically while downloading and uploading data, giving you the number of bytes currently transmitted.

Classes

Functions

Declared in “ark/aws/authenticator.hh”:

  • AuthenticationConfig get_default_authenticator_config()
    Returns a default authenticator configuration, used for most of our services at the moment.

  • AuthenticationConfig get_local_authenticator_config()
    Returns the machine-local authenticator configuration, as saved on disk. If none is present, returns the default authenticator config.

Declared in “ark/aws/batch_client.hh”:

  • BatchJobState event_to_job_state(const std::string & event_json)
    Parses the given batch sample event (coming from Event Bridge) into a BatchJobState object. Assumes the event comes directly over the Event Bridge, and is in JSON.

Declared in “ark/aws/configuration.hh”:

  • Aws::Client::ClientConfiguration default_client_configuration(const core::Url & endpoint)
    Returns a default configuration to use by all of the constructors.

Declared in “ark/aws/credentials_provider.hh”:

  • AwsTemporaryCredentials get_local_credentials(const std::string creds_file_path, const std::string profile)
    Query the local system for the aws credentials If creds_file_path is empty, system will default to the default profile in ~/.aws/credentials.

  • std::optional< std::shared_ptr< Aws::Auth::AWSCredentialsProvider > > get_cognito_provider(const CredentialProviderConfig & config)
    Retrieve an AWS Credentials provider based on the given configuration Currently only Anon Cognito provider is supported.

  • std::optional< AuthenticationProfile > load_local_profile(const std::string creds_file_path, const std::string profile_name, const std::string ark_config_path)
    Query the local system for the aws credentials If creds_file_path is empty, system will default to the default profile in ~/.aws/credentials.

  • void save_credentials_profile(const AuthenticationProfile & profile_data, const std::string creds_file_path, const std::string ark_config_path, const std::string aws_config_path, bool set_default_profile)
    Save the profile and credentials.

  • std::optional< std::string > load_ark_config_profile(const std::string ark_config_path)
    Read ark specific configuration from our own config file.

Declared in “ark/aws/ecr_client.hh”:

  • void decode_ecr_token(const std::string & token, std::string & username, std::string & password)
    Helper function to decode base64 encoded authorization tokens. The encoded username and password are returned.

Declared in “ark/aws/oauth_client.hh”:

  • std::string authenticate_via_oath(ark::core::Url & server_url, const std::string & client_id, const std::string & client_secret, const std::string & scope)
    Authenticates against the given oauth server URL with the given client ID and secret. Returns a JWT access token. This is a remote call and may block.

Declared in “ark/aws/refresh_credentials.hh”:

  • std::string try_refresh_credentials()
    Tries to refresh the AWS credentials silently. Returns the JWT access token on success, or an empty string on failure. Logs at a higher verbosity level, so users do not normally see this output.

Declared in “ark/aws/user_pool_helpers.hh”:

  • std::pair< std::string, std::string > split_user_pool(const std::string & pool_id)
    Splits up an AWS user pool into a region and pool ID.

  • std::string get_user_pool_url(const std::string & pool_id)
    Returns the base identity provider URL for the given user pool.

  • std::string get_user_pool_domain(const std::string & pool_id, const std::string & domain_prefix)
    Returns the user pool domain (full) for the given domain prefix, based on the pool ID and prefix.