%global _empty_manifest_terminate_build 0 Name: python-cassandra-sigv4 Version: 4.0.2 Release: 1 Summary: Implements a sigv4 authentication plugin for the open-source Datastax Python Driver for Apache Cassandra License: Apache Software License URL: https://github.com/aws/aws-sigv4-auth-cassandra-python-driver-plugin/ Source0: https://mirrors.nju.edu.cn/pypi/web/packages/4d/24/fdf4235820fc72befd6d73b65c9e177cf3dce91191dedc2255b1e6487ea0/cassandra-sigv4-4.0.2.tar.gz BuildArch: noarch Requires: python3-cassandra-driver Requires: python3-boto3 Requires: python3-six %description # IMPORTANT: Latest Version The current version is 4.0.2. Please see the [changelog](./CHANGELOG.md) for details on version history. # What This package implements an authentication plugin for the open-source Datastax Python Driver for Apache Cassandra. The driver enables you to add authentication information to your API requests using the AWS Signature Version 4 Process (SigV4). Using the plugin, you can provide users and applications short-term credentials to access Amazon Keyspaces (for Apache Cassandra) using AWS Identity and Access Management (IAM) users and roles. The plugin depends on the AWS SDK for Python (Boto3). It uses `boto3.Session` to obtain credentials. # Example Usage ``` python ssl_context = SSLContext(PROTOCOL_TLSv1_2) ssl_context.load_verify_locations('./AmazonRootCA1.pem') ssl_context.verify_mode = CERT_REQUIRED boto_session = boto3.Session(aws_access_key_id="AKIAIOSFODNN7EXAMPLE", aws_secret_access_key="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", aws_session_token="AQoDYXdzEJr...", region_name="us-east-2") auth_provider = SigV4AuthProvider(boto_session) cluster = Cluster(['cassandra.us-east-2.amazonaws.com'], ssl_context=ssl_context, auth_provider=auth_provider, port=9142) session = cluster.connect() r = session.execute('select * from system_schema.keyspaces') print(r.current_rows) ``` # Using the Plugin The following sections describe how to use the authentication plugin for the open-source DataStax Python Driver for Cassandra to access Amazon Keyspaces. ## SSL Configuration The first step is to get an Amazon digital certificate to encrypt your connections using Transport Layer Security (TLS). The DataStax Python driver must use an SSL CA certificate so that the client SSL engine can validate the Amazon Keyspaces certificate on connection. ``` python ssl_context = SSLContext(PROTOCOL_TLSv1_2) ssl_context.load_verify_locations('./AmazonRootCA1.pem') ssl_context.verify_mode = CERT_REQUIRED ``` ## Region Configuration Before you can start using the plugin, you must configure the AWS Region that the plugin will use when authenticating. This is required because SigV4 signatures are Region-specific. For example, if you are connecting to the `cassandra.us-east-2.amazonaws.com` endpoint, the Region must be `us-east-2`. For a list of available AWS Regions and endpoints, see [Service Endpoints for Amazon Keyspaces](https://docs.aws.amazon.com/keyspaces/latest/devguide/programmatic.endpoints.html). You can specify the Region using one of the following four methods: * Environment Variable * Constructor * Boto3 Session Configuration ## Environment Variable You can use the `AWS_REGION` environment variable to match the endpoint that you are communicating with by setting it as part of your application start-up, as follows. ``` shell $ export AWS_REGION=us-east-1 ``` ## Constructor You can either provide the constructor for `SigV4AuthProvider` with a boto3 session, aws credentials and a region, or a parameterless constructor to follow the default boto3 credential discovery path. ## Install the plugin in your environment ``` shell pip install cassandra-sigv4 ``` ## Programmatically Configure the Driver With a boto3 session Note that if a session is provided, all other arguments for the constructor are ignored. ``` python boto_session = boto3.Session(aws_access_key_id="AKIAIOSFODNN7EXAMPLE", aws_secret_access_key="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", aws_session_token="AQoDYXdzEJr...", region_name="us-east-2") auth_provider = SigV4AuthProvider(boto_session) cluster = Cluster(['cassandra.us-east-2.amazonaws.com'], ssl_context=ssl_context, auth_provider=auth_provider, port=9142) ``` ## Programmatically Configure the Drive with raw AWS Credentials ``` python auth_provider = SigV4AuthProvider(aws_access_key_id="AKIAIOSFODNN7EXAMPLE", aws_secret_access_key="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", aws_session_token="AQoDYXdzEJr...", region_name="us-east-2") cluster = Cluster(['cassandra.us-east-2.amazonaws.com'], ssl_context=ssl_context, auth_provider=auth_provider, port=9142) ``` %package -n python3-cassandra-sigv4 Summary: Implements a sigv4 authentication plugin for the open-source Datastax Python Driver for Apache Cassandra Provides: python-cassandra-sigv4 BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-cassandra-sigv4 # IMPORTANT: Latest Version The current version is 4.0.2. Please see the [changelog](./CHANGELOG.md) for details on version history. # What This package implements an authentication plugin for the open-source Datastax Python Driver for Apache Cassandra. The driver enables you to add authentication information to your API requests using the AWS Signature Version 4 Process (SigV4). Using the plugin, you can provide users and applications short-term credentials to access Amazon Keyspaces (for Apache Cassandra) using AWS Identity and Access Management (IAM) users and roles. The plugin depends on the AWS SDK for Python (Boto3). It uses `boto3.Session` to obtain credentials. # Example Usage ``` python ssl_context = SSLContext(PROTOCOL_TLSv1_2) ssl_context.load_verify_locations('./AmazonRootCA1.pem') ssl_context.verify_mode = CERT_REQUIRED boto_session = boto3.Session(aws_access_key_id="AKIAIOSFODNN7EXAMPLE", aws_secret_access_key="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", aws_session_token="AQoDYXdzEJr...", region_name="us-east-2") auth_provider = SigV4AuthProvider(boto_session) cluster = Cluster(['cassandra.us-east-2.amazonaws.com'], ssl_context=ssl_context, auth_provider=auth_provider, port=9142) session = cluster.connect() r = session.execute('select * from system_schema.keyspaces') print(r.current_rows) ``` # Using the Plugin The following sections describe how to use the authentication plugin for the open-source DataStax Python Driver for Cassandra to access Amazon Keyspaces. ## SSL Configuration The first step is to get an Amazon digital certificate to encrypt your connections using Transport Layer Security (TLS). The DataStax Python driver must use an SSL CA certificate so that the client SSL engine can validate the Amazon Keyspaces certificate on connection. ``` python ssl_context = SSLContext(PROTOCOL_TLSv1_2) ssl_context.load_verify_locations('./AmazonRootCA1.pem') ssl_context.verify_mode = CERT_REQUIRED ``` ## Region Configuration Before you can start using the plugin, you must configure the AWS Region that the plugin will use when authenticating. This is required because SigV4 signatures are Region-specific. For example, if you are connecting to the `cassandra.us-east-2.amazonaws.com` endpoint, the Region must be `us-east-2`. For a list of available AWS Regions and endpoints, see [Service Endpoints for Amazon Keyspaces](https://docs.aws.amazon.com/keyspaces/latest/devguide/programmatic.endpoints.html). You can specify the Region using one of the following four methods: * Environment Variable * Constructor * Boto3 Session Configuration ## Environment Variable You can use the `AWS_REGION` environment variable to match the endpoint that you are communicating with by setting it as part of your application start-up, as follows. ``` shell $ export AWS_REGION=us-east-1 ``` ## Constructor You can either provide the constructor for `SigV4AuthProvider` with a boto3 session, aws credentials and a region, or a parameterless constructor to follow the default boto3 credential discovery path. ## Install the plugin in your environment ``` shell pip install cassandra-sigv4 ``` ## Programmatically Configure the Driver With a boto3 session Note that if a session is provided, all other arguments for the constructor are ignored. ``` python boto_session = boto3.Session(aws_access_key_id="AKIAIOSFODNN7EXAMPLE", aws_secret_access_key="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", aws_session_token="AQoDYXdzEJr...", region_name="us-east-2") auth_provider = SigV4AuthProvider(boto_session) cluster = Cluster(['cassandra.us-east-2.amazonaws.com'], ssl_context=ssl_context, auth_provider=auth_provider, port=9142) ``` ## Programmatically Configure the Drive with raw AWS Credentials ``` python auth_provider = SigV4AuthProvider(aws_access_key_id="AKIAIOSFODNN7EXAMPLE", aws_secret_access_key="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", aws_session_token="AQoDYXdzEJr...", region_name="us-east-2") cluster = Cluster(['cassandra.us-east-2.amazonaws.com'], ssl_context=ssl_context, auth_provider=auth_provider, port=9142) ``` %package help Summary: Development documents and examples for cassandra-sigv4 Provides: python3-cassandra-sigv4-doc %description help # IMPORTANT: Latest Version The current version is 4.0.2. Please see the [changelog](./CHANGELOG.md) for details on version history. # What This package implements an authentication plugin for the open-source Datastax Python Driver for Apache Cassandra. The driver enables you to add authentication information to your API requests using the AWS Signature Version 4 Process (SigV4). Using the plugin, you can provide users and applications short-term credentials to access Amazon Keyspaces (for Apache Cassandra) using AWS Identity and Access Management (IAM) users and roles. The plugin depends on the AWS SDK for Python (Boto3). It uses `boto3.Session` to obtain credentials. # Example Usage ``` python ssl_context = SSLContext(PROTOCOL_TLSv1_2) ssl_context.load_verify_locations('./AmazonRootCA1.pem') ssl_context.verify_mode = CERT_REQUIRED boto_session = boto3.Session(aws_access_key_id="AKIAIOSFODNN7EXAMPLE", aws_secret_access_key="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", aws_session_token="AQoDYXdzEJr...", region_name="us-east-2") auth_provider = SigV4AuthProvider(boto_session) cluster = Cluster(['cassandra.us-east-2.amazonaws.com'], ssl_context=ssl_context, auth_provider=auth_provider, port=9142) session = cluster.connect() r = session.execute('select * from system_schema.keyspaces') print(r.current_rows) ``` # Using the Plugin The following sections describe how to use the authentication plugin for the open-source DataStax Python Driver for Cassandra to access Amazon Keyspaces. ## SSL Configuration The first step is to get an Amazon digital certificate to encrypt your connections using Transport Layer Security (TLS). The DataStax Python driver must use an SSL CA certificate so that the client SSL engine can validate the Amazon Keyspaces certificate on connection. ``` python ssl_context = SSLContext(PROTOCOL_TLSv1_2) ssl_context.load_verify_locations('./AmazonRootCA1.pem') ssl_context.verify_mode = CERT_REQUIRED ``` ## Region Configuration Before you can start using the plugin, you must configure the AWS Region that the plugin will use when authenticating. This is required because SigV4 signatures are Region-specific. For example, if you are connecting to the `cassandra.us-east-2.amazonaws.com` endpoint, the Region must be `us-east-2`. For a list of available AWS Regions and endpoints, see [Service Endpoints for Amazon Keyspaces](https://docs.aws.amazon.com/keyspaces/latest/devguide/programmatic.endpoints.html). You can specify the Region using one of the following four methods: * Environment Variable * Constructor * Boto3 Session Configuration ## Environment Variable You can use the `AWS_REGION` environment variable to match the endpoint that you are communicating with by setting it as part of your application start-up, as follows. ``` shell $ export AWS_REGION=us-east-1 ``` ## Constructor You can either provide the constructor for `SigV4AuthProvider` with a boto3 session, aws credentials and a region, or a parameterless constructor to follow the default boto3 credential discovery path. ## Install the plugin in your environment ``` shell pip install cassandra-sigv4 ``` ## Programmatically Configure the Driver With a boto3 session Note that if a session is provided, all other arguments for the constructor are ignored. ``` python boto_session = boto3.Session(aws_access_key_id="AKIAIOSFODNN7EXAMPLE", aws_secret_access_key="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", aws_session_token="AQoDYXdzEJr...", region_name="us-east-2") auth_provider = SigV4AuthProvider(boto_session) cluster = Cluster(['cassandra.us-east-2.amazonaws.com'], ssl_context=ssl_context, auth_provider=auth_provider, port=9142) ``` ## Programmatically Configure the Drive with raw AWS Credentials ``` python auth_provider = SigV4AuthProvider(aws_access_key_id="AKIAIOSFODNN7EXAMPLE", aws_secret_access_key="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", aws_session_token="AQoDYXdzEJr...", region_name="us-east-2") cluster = Cluster(['cassandra.us-east-2.amazonaws.com'], ssl_context=ssl_context, auth_provider=auth_provider, port=9142) ``` %prep %autosetup -n cassandra-sigv4-4.0.2 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-cassandra-sigv4 -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Mon Apr 10 2023 Python_Bot - 4.0.2-1 - Package Spec generated