Exemple #1
0
    def get_tile_bucket(self):
        """

        Returns:

        """
        return TileBucket.getBucketName()
Exemple #2
0
  def test_createPolicy_with_folder(self):
    """Test policy creation with a folder"""

    statements = [{
      'Sid': 'WriteAccess',
      'Effect': 'Allow',
      'Action': ['s3:PutObject'] 
    }]

    expName = 'ndingest_test_tile_bucket_policy'
    folder = 'some/folder'

    actual = self.tile_bucket.createPolicy(statements, expName, folder)

    try:
        assert(expName == actual.policy_name)
        assert(settings.IAM_POLICY_PATH == actual.path)
        assert(actual.default_version is not None)

        # Test that the statements' resource set to this bucket and folder.
        statements = actual.default_version.document['Statement']
        bucket_name = TileBucket.getBucketName()
        arn = 'arn:aws:s3:::{}/{}/*'.format(bucket_name, folder)
        for stmt in statements:
            assert(stmt['Resource'] == arn)
    finally:
        actual.delete()
Exemple #3
0
def test_createPolicy_with_folder(tile_bucket):
    """Test policy creation with a folder"""

    from ndingest.ndbucket.tilebucket import TileBucket

    statements = [{
        "Sid": "WriteAccess",
        "Effect": "Allow",
        "Action": ["s3:PutObject"]
    }]

    expName = "ndingest_test_tile_bucket_policy"
    folder = "some/folder"

    actual = tile_bucket.createPolicy(statements, expName, folder)

    try:
        assert expName == actual.policy_name
        assert settings.IAM_POLICY_PATH == actual.path
        assert actual.default_version is not None

        # Test that the statements' resource set to this bucket and folder.
        statements = actual.default_version.document["Statement"]
        bucket_name = TileBucket.getBucketName()
        arn = "arn:aws:s3:::{}/{}/*".format(bucket_name, folder)
        for stmt in statements:
            assert stmt["Resource"] == arn
    finally:
        actual.delete()
Exemple #4
0
    def generate_ingest_credentials(self, ingest_job):
        """
        Create new ingest credentials for a job
        Args:
            ingest_job: Ingest job model
        Returns:
            None
        Raises:
            (ValueError): On bad ingest_type

        """
        # Generate credentials for the ingest_job
        upload_queue = self.get_ingest_job_upload_queue(ingest_job)
        ingest_creds = IngestCredentials()
        if ingest_job.ingest_type == IngestJob.TILE_INGEST:
            bucket_name = TileBucket.getBucketName()
        elif ingest_job.ingest_type == IngestJob.VOLUMETRIC_INGEST:
            bucket_name = INGEST_BUCKET
        else:
            raise ValueError('Unknown ingest_type: {}'.format(
                ingest_job.ingest_type))
        policy = BossUtil.generate_ingest_policy(
            ingest_job.id,
            upload_queue,
            bucket_name,
            ingest_type=ingest_job.ingest_type)
        ingest_creds.generate_credentials(ingest_job.id, policy.arn)
    def get_tile_bucket(self):
        """
        Get the name of the ingest tile bucket

        Returns:
            Str: Name of the Tile bucket

        """
        return TileBucket.getBucketName()
Exemple #6
0
    def get_tile_bucket(self):
        """
        Get the name of the ingest tile bucket

        Returns:
            Str: Name of the Tile bucket

        """
        return TileBucket.getBucketName()
Exemple #7
0
    def generate_ingest_credentials(self, ingest_job):
        """
        Create new ingest credentials for a job
        Args:
            ingest_job: Ingest job model
        Returns:
            None
        Raises:
            (ValueError): On bad ingest_type

        """
        # Generate credentials for the ingest_job
        upload_queue = self.get_ingest_job_upload_queue(ingest_job)
        tile_index_queue = None
        ingest_creds = IngestCredentials()
        if ingest_job.ingest_type == IngestJob.TILE_INGEST:
            bucket_name = TileBucket.getBucketName()
            tile_index_queue = self.get_ingest_job_tile_index_queue(ingest_job)
        elif ingest_job.ingest_type == IngestJob.VOLUMETRIC_INGEST:
            bucket_name = INGEST_BUCKET 
        else:
            raise ValueError('Unknown ingest_type: {}'.format(ingest_job.ingest_type))
        policy = BossUtil.generate_ingest_policy(ingest_job.id, upload_queue, tile_index_queue, bucket_name, ingest_type=ingest_job.ingest_type)
        ingest_creds.generate_credentials(ingest_job.id, policy.arn)