from labelbox.schema.iam_integration import (
    AwsIamIntegrationSettings,
    GcpIamIntegrationSettings,
    AzureIamIntegrationSettings,
)
organization = client.get_organization()
# AWS
aws_settings = AwsIamIntegrationSettings(
    role_arn="arn:aws:iam::123456789012:role/LabelboxDelegatedAccess",
    read_bucket="my-s3-bucket"
)
aws_integration = organization.create_iam_integration(
    name="My AWS Integration",
    settings=aws_settings
)
# GCP
gcp_settings = GcpIamIntegrationSettings(
    read_bucket="gs://my-gcp-bucket"
)
gcp_integration = organization.create_iam_integration(
    name="My GCP Integration",
    settings=gcp_settings
)
# Azure
azure_settings = AzureIamIntegrationSettings(
    read_container_url="https://mystorageaccount.blob.core.windows.net/mycontainer",
    tenant_id="your-tenant-id",
    client_id="your-client-id",  # Optional for creation
    client_secret="your-client-secret"  # Optional for creation
)
azure_integration = organization.create_iam_integration(
    name="My Azure Integration",
    settings=azure_settings
)