@java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
        return true;
      }
      if (!(obj
          instanceof com.google.storagetransfer.v1.proto.TransferTypes.AzureBlobStorageData)) {
        return super.equals(obj);
      }
      com.google.storagetransfer.v1.proto.TransferTypes.AzureBlobStorageData other =
          (com.google.storagetransfer.v1.proto.TransferTypes.AzureBlobStorageData) obj;

      if (!getStorageAccount().equals(other.getStorageAccount())) return false;
      if (hasAzureCredentials() != other.hasAzureCredentials()) return false;
      if (hasAzureCredentials()) {
        if (!getAzureCredentials().equals(other.getAzureCredentials())) return false;
      }
      if (!getContainer().equals(other.getContainer())) return false;
      if (!getPath().equals(other.getPath())) return false;
      if (!getCredentialsSecret().equals(other.getCredentialsSecret())) return false;
      if (hasFederatedIdentityConfig() != other.hasFederatedIdentityConfig()) return false;
      if (hasFederatedIdentityConfig()) {
        if (!getFederatedIdentityConfig().equals(other.getFederatedIdentityConfig())) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }
<pre>
Optional. Federated identity config of a user registered Azure application.

If `federated_identity_config` is specified, do not specify
[azure_credentials][google.storagetransfer.v1.AzureBlobStorageData.azure_credentials]
or
[credentials_secret][google.storagetransfer.v1.AzureBlobStorageData.credentials_secret].
</pre>

<code>
.google.storagetransfer.v1.AzureBlobStorageData.FederatedIdentityConfig federated_identity_config = 8 [(.google.api.field_behavior) = OPTIONAL];
</code>
java-storage-transfer/proto-google-cloud-storage-transfer-v1/src/main/java/com/google/storagetransfer/v1/proto/TransferTypes.java