Skip to content

No support for remote-target API endpoints #1488

@P1ng-W1n

Description

@P1ng-W1n

I came across this issue in the context of the client.set_bucket_replication() function : In order for the function to work, an ARN has to be provided:
https://min.io/docs/minio/linux/developers/python/API.html#set_bucket_replication

config = ReplicationConfig(
    "REPLACE-WITH-ACTUAL-ROLE",
    [
        Rule(
            Destination(
                "REPLACE-WITH-ACTUAL-DESTINATION-BUCKET-ARN",
            ),
            ENABLED,
            delete_marker_replication=DeleteMarkerReplication(
                DISABLED,
            ),
            rule_filter=Filter(
                AndOperator(
                    "TaxDocs",
                    {"key1": "value1", "key2": "value2"},
                ),
            ),
            rule_id="rule1",
            priority=1,
        ),
    ],
)
client.set_bucket_replication("my-bucket", config)

Based on my research, the ARN ID can be obtained by registering the remote via the /minio/admin/v3/set-remote-target API (PUT /minio/admin/v3/set-remote-target?bucket=BUCKET ).

However, the current python admin implementation doesn't seem to have a function corresponding to that registration process, or to any of the remote-target endpoints..
Checking the mdadmin-go ( https://github.com/minio/madmin-go/blob/main/remote-target-commands.go ) implementation it seems that support for the following key functions are missing from the current Python implementation:

  • ListRemoteTargets -> "/minio/admin/v3/list-remote-targets",
  • SetRemoteTarget -> "/minio/admin/v3/set-remote-target"
  • UpdateRemoteTarget -> "/minio/admin/v3/set-remote-target"
  • RemoveRemoteTarget -> "/minio/admin/v3/remove-remote-target"

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions