Пример #1
0
 def session_kwargs(self) -> Dict[str, Any]:
     """Additional kwargs passed to boto3.session.Session."""
     return trim_none_values(
         {
             "aws_access_key_id": self.aws_access_key_id,
             "aws_secret_access_key": self.aws_secret_access_key,
             "aws_session_token": self.aws_session_token,
             "region_name": self.region_name,
             "profile_name": self.profile_name,
         }
     )
Пример #2
0
 def execute_batch_query(self):
     kwargs: Dict[str, Any] = {
         "ClusterIdentifier": self.cluster_identifier,
         "Database": self.database,
         "Sqls": self.sql,
         "DbUser": self.db_user,
         "Parameters": self.parameters,
         "WithEvent": self.with_event,
         "SecretArn": self.secret_arn,
         "StatementName": self.statement_name,
     }
     resp = self.hook.conn.batch_execute_statement(**trim_none_values(kwargs))
     return resp['Id']
Пример #3
0
    def execute(self, context: 'Context'):
        """Create an AWS batch compute environment"""
        kwargs: Dict[str, Any] = {
            'computeEnvironmentName': self.compute_environment_name,
            'type': self.environment_type,
            'state': self.state,
            'unmanagedvCpus': self.unmanaged_v_cpus,
            'computeResources': self.compute_resources,
            'serviceRole': self.service_role,
            'tags': self.tags,
        }
        self.hook.client.create_compute_environment(**trim_none_values(kwargs))

        self.log.info('AWS Batch compute environment created successfully')
Пример #4
0
    def client(self):
        """Create a Secrets Manager client"""
        from airflow.providers.amazon.aws.hooks.base_aws import SessionFactory
        from airflow.providers.amazon.aws.utils.connection_wrapper import AwsConnectionWrapper

        conn_id = f"{self.__class__.__name__}__connection"
        conn_config = AwsConnectionWrapper.from_connection_metadata(
            conn_id=conn_id, extra=self.kwargs)
        client_kwargs = trim_none_values({
            "region_name": conn_config.region_name,
            "verify": conn_config.verify,
            "endpoint_url": conn_config.endpoint_url,
            "api_version": self.api_version,
            "use_ssl": self.use_ssl,
        })

        session = SessionFactory(conn=conn_config).create_session()
        return session.client(service_name="secretsmanager", **client_kwargs)