@java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + STORAGE_ACCOUNT_FIELD_NUMBER;
      hash = (53 * hash) + getStorageAccount().hashCode();
      if (hasAzureCredentials()) {
        hash = (37 * hash) + AZURE_CREDENTIALS_FIELD_NUMBER;
        hash = (53 * hash) + getAzureCredentials().hashCode();
      }
      hash = (37 * hash) + CONTAINER_FIELD_NUMBER;
      hash = (53 * hash) + getContainer().hashCode();
      hash = (37 * hash) + PATH_FIELD_NUMBER;
      hash = (53 * hash) + getPath().hashCode();
      hash = (37 * hash) + CREDENTIALS_SECRET_FIELD_NUMBER;
      hash = (53 * hash) + getCredentialsSecret().hashCode();
      if (hasFederatedIdentityConfig()) {
        hash = (37 * hash) + FEDERATED_IDENTITY_CONFIG_FIELD_NUMBER;
        hash = (53 * hash) + getFederatedIdentityConfig().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }
<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