<html><body>
<style>

body, h1, h2, h3, div, span, p, pre, a {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  font-size: 13px;
  padding: 1em;
}

h1 {
  font-size: 26px;
  margin-bottom: 1em;
}

h2 {
  font-size: 24px;
  margin-bottom: 1em;
}

h3 {
  font-size: 20px;
  margin-bottom: 1em;
  margin-top: 1em;
}

pre, code {
  line-height: 1.5;
  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}

pre {
  margin-top: 0.5em;
}

h1, h2, h3, p {
  font-family: Arial, sans serif;
}

h1, h2, h3 {
  border-bottom: solid #CCC 1px;
}

.toc_element {
  margin-top: 0.5em;
}

.firstline {
  margin-left: 2 em;
}

.method  {
  margin-top: 1em;
  border: solid 1px #CCC;
  padding: 1em;
  background: #EEE;
}

.details {
  font-weight: bold;
  font-size: 14px;
}

</style>

<h1><a href="container_v1.html">Kubernetes Engine API</a> . <a href="container_v1.projects.html">projects</a> . <a href="container_v1.projects.locations.html">locations</a> . <a href="container_v1.projects.locations.clusters.html">clusters</a> . <a href="container_v1.projects.locations.clusters.well-known.html">well-known</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#getOpenid-configuration">getOpenid-configuration(parent, x__xgafv=None)</a></code></p>
<p class="firstline">Gets the OIDC discovery document for the cluster.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="getOpenid-configuration">getOpenid-configuration(parent, x__xgafv=None)</code>
  <pre>Gets the OIDC discovery document for the cluster.
See the
[OpenID Connect Discovery 1.0
specification](https://openid.net/specs/openid-connect-discovery-1_0.html)
for details.
This API is not yet intended for general use, and is not available for all
clusters.

Args:
  parent: string, The cluster (project, location, cluster id) to get the discovery document
for. Specified in the format 'projects/*/locations/*/clusters/*'. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # GetOpenIDConfigResponse is an OIDC discovery document for the cluster.
      # See the OpenID Connect Discovery 1.0 specification for details.
    "jwks_uri": "A String", # JSON Web Key uri.
    "grant_types": [ # Supported grant types.
      "A String",
    ],
    "subject_types_supported": [ # Supported subject types.
      "A String",
    ],
    "id_token_signing_alg_values_supported": [ # supported ID Token signing Algorithms.
      "A String",
    ],
    "response_types_supported": [ # Supported response types.
      "A String",
    ],
    "claims_supported": [ # Supported claims.
      "A String",
    ],
    "issuer": "A String", # OIDC Issuer.
  }</pre>
</div>

</body></html>