title: Terraform `name` vs `self_link` in GCP
body: <p>In GCP, when using Terraform, I see I can use <code>name</code> attribute as well as <code>self_link</code>. So, I am wondering if there are cases where I must use any of those.</p>
  <p>For example:</p>
  <pre><code>resource &quot;google_compute_ssl_policy&quot; &quot;custom_ssl_policy&quot; {
    name            = &quot;my-ssl-policy&quot;
    profile         = &quot;MODERN&quot;
    min_tls_version = &quot;TLS_1_1&quot;
  }
  </code></pre>
  <p>this object, then can be referred as:</p>
  <pre><code>ssl_policy = google_compute_ssl_policy.custom_ssl_policy.name
  </code></pre>
  <p>and</p>
  <pre><code>ssl_policy = google_compute_ssl_policy.custom_ssl_policy.self_link
  </code></pre>
  <p>I know that <code>object.name</code> returns the Terraform object name, and <code>object.self_link</code> returns GCP's resources's URI.</p>
  <p>I have tried with several objects, and it works with both attributes, so I want to know if this is trivial or there are situations where I should use one of them.</p>