{
  "rootUrl": "https://iam.s3nsapis.fr/",
  "version_module": true,
  "discoveryVersion": "v1",
  "baseUrl": "https://iam.s3nsapis.fr/",
  "id": "iam:v1beta",
  "revision": "20260925",
  "description": "Manages identity and access control for Cloud de Confiance Platform resources, including the creation of service accounts, which you can use to authenticate to Cloud de Confiance and make API calls.",
  "batchPath": "batch",
  "icons": {
    "x16": "",
    "x32": ""
  },
  "protocol": "rest",
  "name": "iam",
  "resources": {
    "projects": {
      "resources": {
        "locations": {
          "resources": {
            "workloadIdentityPools": {
              "methods": {
                "patch": {
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "parameters": {
                    "updateMask": {
                      "location": "query",
                      "description": "Required. The list of fields to update.",
                      "format": "google-fieldmask",
                      "type": "string"
                    },
                    "name": {
                      "description": "Output only. The resource name of the pool.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/workloadIdentityPools/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "request": {
                    "$ref": "GoogleIamV1betaWorkloadIdentityPool"
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "httpMethod": "PATCH",
                  "path": "v1beta/{+name}",
                  "description": "The google.iam.v1beta.WorkloadIdentityPools.UpdateWorkloadIdentityPool method is not available in this (s3nsapis.fr) universe.",
                  "id": "iam.projects.locations.workloadIdentityPools.patch",
                  "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/workloadIdentityPools/{workloadIdentityPoolsId}"
                },
                "get": {
                  "id": "iam.projects.locations.workloadIdentityPools.get",
                  "description": "The google.iam.v1beta.WorkloadIdentityPools.GetWorkloadIdentityPool method is not available in this (s3nsapis.fr) universe.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/workloadIdentityPools/{workloadIdentityPoolsId}",
                  "httpMethod": "GET",
                  "parameterOrder": [
                    "name"
                  ],
                  "path": "v1beta/{+name}",
                  "response": {
                    "$ref": "GoogleIamV1betaWorkloadIdentityPool"
                  },
                  "parameters": {
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/workloadIdentityPools/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string",
                      "description": "Required. The name of the pool to retrieve."
                    }
                  }
                },
                "undelete": {
                  "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/workloadIdentityPools/{workloadIdentityPoolsId}:undelete",
                  "description": "The google.iam.v1beta.WorkloadIdentityPools.UndeleteWorkloadIdentityPool method is not available in this (s3nsapis.fr) universe.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameterOrder": [
                    "name"
                  ],
                  "httpMethod": "POST",
                  "id": "iam.projects.locations.workloadIdentityPools.undelete",
                  "request": {
                    "$ref": "GoogleIamV1betaUndeleteWorkloadIdentityPoolRequest"
                  },
                  "path": "v1beta/{+name}:undelete",
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "parameters": {
                    "name": {
                      "description": "Required. The name of the pool to undelete.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/workloadIdentityPools/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  }
                },
                "delete": {
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "The google.iam.v1beta.WorkloadIdentityPools.DeleteWorkloadIdentityPool method is not available in this (s3nsapis.fr) universe.",
                  "path": "v1beta/{+name}",
                  "httpMethod": "DELETE",
                  "parameters": {
                    "name": {
                      "description": "Required. The name of the pool to delete.",
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/workloadIdentityPools/[^/]+$",
                      "location": "path",
                      "required": true
                    }
                  },
                  "id": "iam.projects.locations.workloadIdentityPools.delete",
                  "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/workloadIdentityPools/{workloadIdentityPoolsId}",
                  "parameterOrder": [
                    "name"
                  ]
                },
                "list": {
                  "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/workloadIdentityPools",
                  "parameters": {
                    "pageToken": {
                      "description": "A page token, received from a previous `ListWorkloadIdentityPools` call. Provide this to retrieve the subsequent page.",
                      "location": "query",
                      "type": "string"
                    },
                    "pageSize": {
                      "type": "integer",
                      "location": "query",
                      "format": "int32",
                      "description": "The maximum number of pools to return. If unspecified, at most 50 pools are returned. The maximum value is 1000; values above are 1000 truncated to 1000."
                    },
                    "parent": {
                      "location": "path",
                      "required": true,
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "description": "Required. The parent resource to list pools for."
                    },
                    "showDeleted": {
                      "description": "Whether to return soft-deleted pools.",
                      "location": "query",
                      "type": "boolean"
                    }
                  },
                  "path": "v1beta/{+parent}/workloadIdentityPools",
                  "httpMethod": "GET",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "The google.iam.v1beta.WorkloadIdentityPools.ListWorkloadIdentityPools method is not available in this (s3nsapis.fr) universe.",
                  "parameterOrder": [
                    "parent"
                  ],
                  "response": {
                    "$ref": "GoogleIamV1betaListWorkloadIdentityPoolsResponse"
                  },
                  "id": "iam.projects.locations.workloadIdentityPools.list"
                },
                "create": {
                  "path": "v1beta/{+parent}/workloadIdentityPools",
                  "httpMethod": "POST",
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "parameters": {
                    "parent": {
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "description": "Required. The parent resource to create the pool in. The only supported location is `global`.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "workloadIdentityPoolId": {
                      "description": "Required. The ID to use for the pool, which becomes the final component of the resource name. This value should be 4-32 characters, and may contain the characters `[a-z0-9-]`. The prefix `gcp-` is reserved for use by Cloud de Confiance, and may not be specified.",
                      "type": "string",
                      "location": "query"
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "request": {
                    "$ref": "GoogleIamV1betaWorkloadIdentityPool"
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "description": "The google.iam.v1beta.WorkloadIdentityPools.CreateWorkloadIdentityPool method is not available in this (s3nsapis.fr) universe.",
                  "id": "iam.projects.locations.workloadIdentityPools.create",
                  "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/workloadIdentityPools"
                }
              },
              "resources": {
                "operations": {
                  "methods": {
                    "get": {
                      "parameters": {
                        "name": {
                          "location": "path",
                          "required": true,
                          "type": "string",
                          "description": "The name of the operation resource.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/workloadIdentityPools/[^/]+/operations/[^/]+$"
                        }
                      },
                      "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
                      "response": {
                        "$ref": "GoogleLongrunningOperation"
                      },
                      "httpMethod": "GET",
                      "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/workloadIdentityPools/{workloadIdentityPoolsId}/operations/{operationsId}",
                      "parameterOrder": [
                        "name"
                      ],
                      "id": "iam.projects.locations.workloadIdentityPools.operations.get",
                      "path": "v1beta/{+name}",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    }
                  }
                },
                "providers": {
                  "resources": {
                    "operations": {
                      "methods": {
                        "get": {
                          "parameters": {
                            "name": {
                              "type": "string",
                              "location": "path",
                              "required": true,
                              "description": "The name of the operation resource.",
                              "pattern": "^projects/[^/]+/locations/[^/]+/workloadIdentityPools/[^/]+/providers/[^/]+/operations/[^/]+$"
                            }
                          },
                          "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/workloadIdentityPools/{workloadIdentityPoolsId}/providers/{providersId}/operations/{operationsId}",
                          "httpMethod": "GET",
                          "id": "iam.projects.locations.workloadIdentityPools.providers.operations.get",
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "parameterOrder": [
                            "name"
                          ],
                          "path": "v1beta/{+name}",
                          "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
                          "response": {
                            "$ref": "GoogleLongrunningOperation"
                          }
                        }
                      }
                    }
                  },
                  "methods": {
                    "get": {
                      "parameterOrder": [
                        "name"
                      ],
                      "parameters": {
                        "name": {
                          "description": "Required. The name of the provider to retrieve.",
                          "pattern": "^projects/[^/]+/locations/[^/]+/workloadIdentityPools/[^/]+/providers/[^/]+$",
                          "type": "string",
                          "location": "path",
                          "required": true
                        }
                      },
                      "response": {
                        "$ref": "GoogleIamV1betaWorkloadIdentityPoolProvider"
                      },
                      "httpMethod": "GET",
                      "id": "iam.projects.locations.workloadIdentityPools.providers.get",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "description": "The google.iam.v1beta.WorkloadIdentityPools.GetWorkloadIdentityPoolProvider method is not available in this (s3nsapis.fr) universe.",
                      "path": "v1beta/{+name}",
                      "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/workloadIdentityPools/{workloadIdentityPoolsId}/providers/{providersId}"
                    },
                    "delete": {
                      "response": {
                        "$ref": "GoogleLongrunningOperation"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "path": "v1beta/{+name}",
                      "httpMethod": "DELETE",
                      "parameterOrder": [
                        "name"
                      ],
                      "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/workloadIdentityPools/{workloadIdentityPoolsId}/providers/{providersId}",
                      "parameters": {
                        "name": {
                          "type": "string",
                          "location": "path",
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/workloadIdentityPools/[^/]+/providers/[^/]+$",
                          "description": "Required. The name of the provider to delete."
                        }
                      },
                      "description": "The google.iam.v1beta.WorkloadIdentityPools.DeleteWorkloadIdentityPoolProvider method is not available in this (s3nsapis.fr) universe.",
                      "id": "iam.projects.locations.workloadIdentityPools.providers.delete"
                    },
                    "list": {
                      "parameterOrder": [
                        "parent"
                      ],
                      "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/workloadIdentityPools/{workloadIdentityPoolsId}/providers",
                      "id": "iam.projects.locations.workloadIdentityPools.providers.list",
                      "path": "v1beta/{+parent}/providers",
                      "description": "The google.iam.v1beta.WorkloadIdentityPools.ListWorkloadIdentityPoolProviders method is not available in this (s3nsapis.fr) universe.",
                      "response": {
                        "$ref": "GoogleIamV1betaListWorkloadIdentityPoolProvidersResponse"
                      },
                      "httpMethod": "GET",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "parameters": {
                        "pageSize": {
                          "description": "The maximum number of providers to return. If unspecified, at most 50 providers are returned. The maximum value is 100; values above 100 are truncated to 100.",
                          "format": "int32",
                          "location": "query",
                          "type": "integer"
                        },
                        "pageToken": {
                          "type": "string",
                          "description": "A page token, received from a previous `ListWorkloadIdentityPoolProviders` call. Provide this to retrieve the subsequent page.",
                          "location": "query"
                        },
                        "showDeleted": {
                          "type": "boolean",
                          "location": "query",
                          "description": "Whether to return soft-deleted providers."
                        },
                        "parent": {
                          "description": "Required. The pool to list providers for.",
                          "type": "string",
                          "location": "path",
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/workloadIdentityPools/[^/]+$"
                        }
                      }
                    },
                    "undelete": {
                      "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/workloadIdentityPools/{workloadIdentityPoolsId}/providers/{providersId}:undelete",
                      "parameterOrder": [
                        "name"
                      ],
                      "parameters": {
                        "name": {
                          "location": "path",
                          "required": true,
                          "type": "string",
                          "pattern": "^projects/[^/]+/locations/[^/]+/workloadIdentityPools/[^/]+/providers/[^/]+$",
                          "description": "Required. The name of the provider to undelete."
                        }
                      },
                      "httpMethod": "POST",
                      "id": "iam.projects.locations.workloadIdentityPools.providers.undelete",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "path": "v1beta/{+name}:undelete",
                      "request": {
                        "$ref": "GoogleIamV1betaUndeleteWorkloadIdentityPoolProviderRequest"
                      },
                      "description": "The google.iam.v1beta.WorkloadIdentityPools.UndeleteWorkloadIdentityPoolProvider method is not available in this (s3nsapis.fr) universe.",
                      "response": {
                        "$ref": "GoogleLongrunningOperation"
                      }
                    },
                    "patch": {
                      "httpMethod": "PATCH",
                      "response": {
                        "$ref": "GoogleLongrunningOperation"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "parameters": {
                        "updateMask": {
                          "format": "google-fieldmask",
                          "type": "string",
                          "description": "Required. The list of fields to update.",
                          "location": "query"
                        },
                        "name": {
                          "type": "string",
                          "location": "path",
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/workloadIdentityPools/[^/]+/providers/[^/]+$",
                          "description": "Output only. The resource name of the provider."
                        }
                      },
                      "id": "iam.projects.locations.workloadIdentityPools.providers.patch",
                      "parameterOrder": [
                        "name"
                      ],
                      "description": "The google.iam.v1beta.WorkloadIdentityPools.UpdateWorkloadIdentityPoolProvider method is not available in this (s3nsapis.fr) universe.",
                      "request": {
                        "$ref": "GoogleIamV1betaWorkloadIdentityPoolProvider"
                      },
                      "path": "v1beta/{+name}",
                      "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/workloadIdentityPools/{workloadIdentityPoolsId}/providers/{providersId}"
                    },
                    "create": {
                      "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/workloadIdentityPools/{workloadIdentityPoolsId}/providers",
                      "parameters": {
                        "workloadIdentityPoolProviderId": {
                          "type": "string",
                          "location": "query",
                          "description": "Required. The ID for the provider, which becomes the final component of the resource name. This value must be 4-32 characters, and may contain the characters `[a-z0-9-]`. The prefix `gcp-` is reserved for use by Cloud de Confiance, and may not be specified."
                        },
                        "parent": {
                          "description": "Required. The pool to create this provider in.",
                          "location": "path",
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/workloadIdentityPools/[^/]+$",
                          "type": "string"
                        }
                      },
                      "description": "The google.iam.v1beta.WorkloadIdentityPools.CreateWorkloadIdentityPoolProvider method is not available in this (s3nsapis.fr) universe.",
                      "parameterOrder": [
                        "parent"
                      ],
                      "httpMethod": "POST",
                      "id": "iam.projects.locations.workloadIdentityPools.providers.create",
                      "request": {
                        "$ref": "GoogleIamV1betaWorkloadIdentityPoolProvider"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "path": "v1beta/{+parent}/providers",
                      "response": {
                        "$ref": "GoogleLongrunningOperation"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "version": "v1beta",
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/cloud-platform": {
          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
        }
      }
    }
  },
  "kind": "discovery#restDescription",
  "ownerDomain": "google.com",
  "title": "Identity and Access Management (IAM) API",
  "schemas": {
    "GoogleIamAdminV1AuditData": {
      "type": "object",
      "id": "GoogleIamAdminV1AuditData",
      "description": "Audit log information specific to Cloud IAM admin APIs. This message is serialized as an `Any` type in the `ServiceData` message of an `AuditLog` message.",
      "properties": {
        "permissionDelta": {
          "$ref": "GoogleIamAdminV1AuditDataPermissionDelta",
          "description": "The permission_delta when when creating or updating a Role."
        }
      }
    },
    "GoogleIamV1betaListWorkloadIdentityPoolProvidersResponse": {
      "description": "Response message for ListWorkloadIdentityPoolProviders.",
      "id": "GoogleIamV1betaListWorkloadIdentityPoolProvidersResponse",
      "properties": {
        "workloadIdentityPoolProviders": {
          "items": {
            "$ref": "GoogleIamV1betaWorkloadIdentityPoolProvider"
          },
          "description": "A list of providers.",
          "type": "array"
        },
        "nextPageToken": {
          "type": "string",
          "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages."
        }
      },
      "type": "object"
    },
    "GoogleIamV1LoggingAuditData": {
      "properties": {
        "policyDelta": {
          "$ref": "GoogleIamV1PolicyDelta",
          "description": "Policy delta between the original policy and the newly set policy."
        }
      },
      "type": "object",
      "description": "Audit log information specific to Cloud IAM. This message is serialized as an `Any` type in the `ServiceData` message of an `AuditLog` message.",
      "id": "GoogleIamV1LoggingAuditData"
    },
    "GoogleIamV1betaWorkloadIdentityPoolProviderOidc": {
      "id": "GoogleIamV1betaWorkloadIdentityPoolProviderOidc",
      "description": "Represents an OpenId Connect 1.0 identity provider.",
      "properties": {
        "jwksJson": {
          "description": "Optional. OIDC JWKs in JSON String format. For details on definition of a JWK, see https://tools.ietf.org/html/rfc7517. If not set, then we use the `jwks_uri` from the discovery document fetched from the .well-known path for the `issuer_uri`. Currently, RSA and EC asymmetric keys are supported. The JWK must use following format and include only the following fields: { \"keys\": [ { \"kty\": \"RSA/EC\", \"alg\": \"\", \"use\": \"sig\", \"kid\": \"\", \"n\": \"\", \"e\": \"\", \"x\": \"\", \"y\": \"\", \"crv\": \"\" } ] }",
          "type": "string"
        },
        "issuerUri": {
          "type": "string",
          "description": "Required. The OIDC issuer URL. Must be an HTTPS endpoint."
        },
        "allowedAudiences": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Acceptable values for the `aud` field (audience) in the OIDC token. Token exchange requests are rejected if the token audience does not match one of the configured values. Each audience may be at most 256 characters. A maximum of 10 audiences may be configured. If this list is empty, the OIDC token audience must be equal to the full canonical resource name of the WorkloadIdentityPoolProvider, with or without the HTTPS prefix. For example: ``` //iam.googleapis.com/projects//locations//workloadIdentityPools//providers/ https://iam.googleapis.com/projects//locations//workloadIdentityPools//providers/ ```"
        }
      },
      "type": "object"
    },
    "GoogleIamV1betaWorkloadIdentityPoolOperationMetadata": {
      "type": "object",
      "id": "GoogleIamV1betaWorkloadIdentityPoolOperationMetadata",
      "description": "Metadata for long-running WorkloadIdentityPool operations.",
      "properties": {}
    },
    "GoogleLongrunningOperation": {
      "properties": {
        "name": {
          "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.",
          "type": "string"
        },
        "metadata": {
          "type": "object",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object. Contains field @type with type URL."
          },
          "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any."
        },
        "response": {
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          },
          "type": "object",
          "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`."
        },
        "error": {
          "description": "The error result of the operation in case of failure or cancellation.",
          "$ref": "GoogleRpcStatus"
        },
        "done": {
          "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.",
          "type": "boolean"
        }
      },
      "id": "GoogleLongrunningOperation",
      "type": "object",
      "description": "This resource represents a long-running operation that is the result of a network API call."
    },
    "GoogleIamV1betaUndeleteWorkloadIdentityPoolProviderRequest": {
      "id": "GoogleIamV1betaUndeleteWorkloadIdentityPoolProviderRequest",
      "description": "Request message for UndeleteWorkloadIdentityPoolProvider.",
      "type": "object",
      "properties": {}
    },
    "GoogleIamV1betaUndeleteWorkloadIdentityPoolRequest": {
      "description": "Request message for UndeleteWorkloadIdentityPool.",
      "properties": {},
      "id": "GoogleIamV1betaUndeleteWorkloadIdentityPoolRequest",
      "type": "object"
    },
    "GoogleIamV3OperationMetadata": {
      "description": "Represents the metadata of the long-running operation.",
      "properties": {
        "target": {
          "description": "Output only. Server-defined resource path for the target of the",
          "readOnly": true,
          "type": "string"
        },
        "requestedCancellation": {
          "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.",
          "type": "boolean",
          "readOnly": true
        },
        "apiVersion": {
          "description": "Output only. API version used to start the operation.",
          "type": "string",
          "readOnly": true
        },
        "createTime": {
          "description": "Output only. The time the operation was created.",
          "format": "google-datetime",
          "readOnly": true,
          "type": "string"
        },
        "statusMessage": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. Human-readable status of the operation, if any."
        },
        "endTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. The time the operation finished running.",
          "readOnly": true
        },
        "verb": {
          "description": "Output only. Name of the verb executed by the operation.",
          "type": "string",
          "readOnly": true
        }
      },
      "type": "object",
      "id": "GoogleIamV3OperationMetadata"
    },
    "CloudControl2SharedOperationsReconciliationOperationMetadata": {
      "id": "CloudControl2SharedOperationsReconciliationOperationMetadata",
      "description": "Operation metadata returned by the CLH during resource state reconciliation.",
      "type": "object",
      "properties": {
        "deleteResource": {
          "deprecated": true,
          "description": "DEPRECATED. Use exclusive_action instead.",
          "type": "boolean"
        },
        "exclusiveAction": {
          "description": "Excluisive action returned by the CLH.",
          "enumDescriptions": [
            "Unknown repair action.",
            "The resource has to be deleted. When using this bit, the CLH should fail the operation. DEPRECATED. Instead use DELETE_RESOURCE OperationSignal in SideChannel.",
            "This resource could not be repaired but the repair should be tried again at a later time. This can happen if there is a dependency that needs to be resolved first- e.g. if a parent resource must be repaired before a child resource."
          ],
          "type": "string",
          "enum": [
            "UNKNOWN_REPAIR_ACTION",
            "DELETE",
            "RETRY"
          ],
          "enumDeprecated": [
            false,
            true,
            false
          ]
        }
      }
    },
    "GoogleIamV3alphaOperationMetadata": {
      "properties": {
        "statusMessage": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. Human-readable status of the operation, if any."
        },
        "apiVersion": {
          "description": "Output only. API version used to start the operation.",
          "readOnly": true,
          "type": "string"
        },
        "createTime": {
          "readOnly": true,
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. The time the operation was created."
        },
        "requestedCancellation": {
          "type": "boolean",
          "readOnly": true,
          "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`."
        },
        "endTime": {
          "description": "Output only. The time the operation finished running.",
          "format": "google-datetime",
          "readOnly": true,
          "type": "string"
        },
        "target": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. Server-defined resource path for the target of the"
        },
        "verb": {
          "description": "Output only. Name of the verb executed by the operation.",
          "readOnly": true,
          "type": "string"
        }
      },
      "description": "Represents the metadata of the long-running operation.",
      "type": "object",
      "id": "GoogleIamV3alphaOperationMetadata"
    },
    "GoogleIamAdminV1AuditDataPermissionDelta": {
      "id": "GoogleIamAdminV1AuditDataPermissionDelta",
      "type": "object",
      "properties": {
        "addedPermissions": {
          "description": "Added permissions.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "removedPermissions": {
          "items": {
            "type": "string"
          },
          "description": "Removed permissions.",
          "type": "array"
        }
      },
      "description": "A PermissionDelta message to record the added_permissions and removed_permissions inside a role."
    },
    "GoogleIamV3mainOperationMetadata": {
      "properties": {
        "target": {
          "description": "Output only. Server-defined resource path for the target of the",
          "readOnly": true,
          "type": "string"
        },
        "verb": {
          "description": "Output only. Name of the verb executed by the operation.",
          "readOnly": true,
          "type": "string"
        },
        "createTime": {
          "readOnly": true,
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. The time the operation was created."
        },
        "apiVersion": {
          "description": "Output only. API version used to start the operation.",
          "type": "string",
          "readOnly": true
        },
        "requestedCancellation": {
          "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.",
          "readOnly": true,
          "type": "boolean"
        },
        "statusMessage": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. Human-readable status of the operation, if any."
        },
        "endTime": {
          "description": "Output only. The time the operation finished running.",
          "readOnly": true,
          "format": "google-datetime",
          "type": "string"
        }
      },
      "type": "object",
      "id": "GoogleIamV3mainOperationMetadata",
      "description": "Represents the metadata of the long-running operation."
    },
    "GoogleIamV3betaOperationMetadata": {
      "id": "GoogleIamV3betaOperationMetadata",
      "description": "Represents the metadata of the long-running operation.",
      "type": "object",
      "properties": {
        "target": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. Server-defined resource path for the target of the"
        },
        "endTime": {
          "readOnly": true,
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. The time the operation finished running."
        },
        "apiVersion": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. API version used to start the operation."
        },
        "createTime": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. The time the operation was created.",
          "format": "google-datetime"
        },
        "requestedCancellation": {
          "readOnly": true,
          "type": "boolean",
          "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`."
        },
        "statusMessage": {
          "readOnly": true,
          "description": "Output only. Human-readable status of the operation, if any.",
          "type": "string"
        },
        "verb": {
          "description": "Output only. Name of the verb executed by the operation.",
          "readOnly": true,
          "type": "string"
        }
      }
    },
    "GoogleCloudCommonOperationMetadata": {
      "properties": {
        "target": {
          "description": "Output only. Server-defined resource path for the target of the operation.",
          "readOnly": true,
          "type": "string"
        },
        "cancelRequested": {
          "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.",
          "readOnly": true,
          "type": "boolean"
        },
        "verb": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. Name of the verb executed by the operation."
        },
        "apiVersion": {
          "readOnly": true,
          "description": "Output only. API version used to start the operation.",
          "type": "string"
        },
        "createTime": {
          "description": "Output only. The time the operation was created.",
          "readOnly": true,
          "format": "google-datetime",
          "type": "string"
        },
        "statusDetail": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. Human-readable status of the operation, if any."
        },
        "endTime": {
          "readOnly": true,
          "description": "Output only. The time the operation finished running.",
          "type": "string",
          "format": "google-datetime"
        }
      },
      "type": "object",
      "description": "Represents the metadata of the long-running operation.",
      "id": "GoogleCloudCommonOperationMetadata"
    },
    "GoogleIamV1betaWorkloadIdentityPoolProviderAws": {
      "type": "object",
      "properties": {
        "accountId": {
          "description": "Required. The AWS account ID.",
          "type": "string"
        }
      },
      "description": "Represents an Amazon Web Services identity provider.",
      "id": "GoogleIamV1betaWorkloadIdentityPoolProviderAws"
    },
    "GoogleTypeExpr": {
      "type": "object",
      "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() \u003c 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.",
      "id": "GoogleTypeExpr",
      "properties": {
        "expression": {
          "type": "string",
          "description": "Textual representation of an expression in Common Expression Language syntax."
        },
        "description": {
          "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.",
          "type": "string"
        },
        "location": {
          "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.",
          "type": "string"
        },
        "title": {
          "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.",
          "type": "string"
        }
      }
    },
    "GoogleIamV1betaListWorkloadIdentityPoolsResponse": {
      "id": "GoogleIamV1betaListWorkloadIdentityPoolsResponse",
      "description": "Response message for ListWorkloadIdentityPools.",
      "properties": {
        "workloadIdentityPools": {
          "items": {
            "$ref": "GoogleIamV1betaWorkloadIdentityPool"
          },
          "description": "A list of pools.",
          "type": "array"
        },
        "nextPageToken": {
          "type": "string",
          "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages."
        }
      },
      "type": "object"
    },
    "GoogleIamV1PolicyDelta": {
      "id": "GoogleIamV1PolicyDelta",
      "properties": {
        "bindingDeltas": {
          "items": {
            "$ref": "GoogleIamV1BindingDelta"
          },
          "type": "array",
          "description": "The delta for Bindings between two policies."
        }
      },
      "type": "object",
      "description": "The difference delta between two policies."
    },
    "GoogleRpcStatus": {
      "id": "GoogleRpcStatus",
      "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC(https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the API Design Guide(https://documentation.s3ns.fr/apis/design/errors).",
      "type": "object",
      "properties": {
        "details": {
          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": {
              "description": "Properties of the object. Contains field @type with type URL.",
              "type": "any"
            }
          }
        },
        "message": {
          "type": "string",
          "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client."
        },
        "code": {
          "description": "The status code, which should be an enum value of google.rpc.Code.",
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "GoogleIamV1BindingDelta": {
      "id": "GoogleIamV1BindingDelta",
      "properties": {
        "action": {
          "type": "string",
          "enumDescriptions": [
            "Unspecified.",
            "Addition of a Binding.",
            "Removal of a Binding."
          ],
          "description": "The action that was performed on a Binding. Required",
          "enum": [
            "ACTION_UNSPECIFIED",
            "ADD",
            "REMOVE"
          ]
        },
        "member": {
          "description": "A single identity requesting access for a Google Cloud resource. Follows the same format of Binding.members. Required",
          "type": "string"
        },
        "condition": {
          "description": "The condition that is associated with this binding.",
          "$ref": "GoogleTypeExpr"
        },
        "role": {
          "type": "string",
          "description": "Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. Required"
        }
      },
      "type": "object",
      "description": "One delta entry for Binding. Each individual change (only one member in each entry) to a binding will be a separate entry."
    },
    "GoogleIamV1betaWorkloadIdentityPoolProvider": {
      "properties": {
        "state": {
          "type": "string",
          "enumDescriptions": [
            "State unspecified.",
            "The provider is active, and may be used to validate authentication credentials.",
            "The provider is soft-deleted. Soft-deleted providers are permanently deleted after approximately 30 days. You can restore a soft-deleted provider using UndeleteWorkloadIdentityPoolProvider. You cannot reuse the ID of a soft-deleted provider until it is permanently deleted."
          ],
          "description": "Output only. The state of the provider.",
          "readOnly": true,
          "enum": [
            "STATE_UNSPECIFIED",
            "ACTIVE",
            "DELETED"
          ]
        },
        "name": {
          "readOnly": true,
          "description": "Output only. The resource name of the provider.",
          "type": "string"
        },
        "description": {
          "type": "string",
          "description": "A description for the provider. Cannot exceed 256 characters."
        },
        "attributeMapping": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Optional. Maps attributes from authentication credentials issued by an external identity provider to Cloud de Confiance attributes, such as `subject` and `segment`. Each key must be a string specifying the Cloud de Confiance IAM attribute to map to. The following keys are supported: * `google.subject`: The principal IAM is authenticating. You can reference this value in IAM bindings. This is also the subject that appears in Cloud Logging logs. Cannot exceed 127 bytes. * `google.groups`: Groups the external identity belongs to. You can grant groups access to resources using an IAM `principalSet` binding; access applies to all members of the group. You can also provide custom attributes by specifying `attribute.{custom_attribute}`, where `{custom_attribute}` is the name of the custom attribute to be mapped. You can define a maximum of 50 custom attributes. The maximum length of a mapped attribute key is 100 characters, and the key may only contain the characters `[a-z0-9_]`. You can reference these attributes in IAM policies to define fine-grained access for a workload to Cloud de Confiance resources. For example: * `google.subject`: `principal://iam.googleapis.com/projects/{project}/locations/{location}/workloadIdentityPools/{pool}/subject/{value}` * `google.groups`: `principalSet://iam.googleapis.com/projects/{project}/locations/{location}/workloadIdentityPools/{pool}/group/{value}` * `attribute.{custom_attribute}`: `principalSet://iam.googleapis.com/projects/{project}/locations/{location}/workloadIdentityPools/{pool}/attribute.{custom_attribute}/{value}` Each value must be a [Common Expression Language] (https://opensource.google/projects/cel) function that maps an identity provider credential to the normalized attribute specified by the corresponding map key. You can use the `assertion` keyword in the expression to access a JSON representation of the authentication credential issued by the provider. The maximum length of an attribute mapping expression is 2048 characters. When evaluated, the total size of all mapped attributes must not exceed 8KB. For AWS providers, if no attribute mapping is defined, the following default mapping applies: ``` { \"google.subject\":\"assertion.arn\", \"attribute.aws_role\": \"assertion.arn.contains('assumed-role')\" \" ? assertion.arn.extract('{account_arn}assumed-role/')\" \" + 'assumed-role/'\" \" + assertion.arn.extract('assumed-role/{role_name}/')\" \" : assertion.arn\", } ``` If any custom attribute mappings are defined, they must include a mapping to the `google.subject` attribute. For OIDC providers, you must supply a custom mapping, which must include the `google.subject` attribute. For example, the following maps the `sub` claim of the incoming credential to the `subject` attribute on a Google token: ``` {\"google.subject\": \"assertion.sub\"} ```"
        },
        "oidc": {
          "description": "An OpenId Connect 1.0 identity provider.",
          "$ref": "GoogleIamV1betaWorkloadIdentityPoolProviderOidc"
        },
        "expireTime": {
          "readOnly": true,
          "description": "Output only. Time after which the workload identity pool provider will be permanently purged and cannot be recovered.",
          "type": "string",
          "format": "google-datetime"
        },
        "aws": {
          "description": "An Amazon Web Services identity provider.",
          "$ref": "GoogleIamV1betaWorkloadIdentityPoolProviderAws"
        },
        "disabled": {
          "type": "boolean",
          "description": "Whether the provider is disabled. You cannot use a disabled provider to exchange tokens. However, existing tokens still grant access."
        },
        "displayName": {
          "description": "A display name for the provider. Cannot exceed 32 characters.",
          "type": "string"
        },
        "attributeCondition": {
          "type": "string",
          "description": "Optional. [A Common Expression Language](https://opensource.google/projects/cel) expression, in plain text, to restrict what otherwise valid authentication credentials issued by the provider should not be accepted. The expression must output a boolean representing whether to allow the federation. The following keywords may be referenced in the expressions: * `assertion`: JSON representing the authentication credential issued by the provider. * google: The Google attributes mapped from the assertion in the `attribute_mappings`. * `attribute`: The custom attributes mapped from the assertion in the `attribute_mappings`. The maximum length of the attribute condition expression is 4,096 characters. If unspecified, all valid authentication credentials are accepted. However, multi-tenant identity providers (such as GitHub or Terraform Cloud) require an attribute condition to prevent token spoofing. The following example shows how to only allow credentials with a mapped `google.groups` value of `admins`: ``` \"'admins' in google.groups\" ```"
        }
      },
      "id": "GoogleIamV1betaWorkloadIdentityPoolProvider",
      "description": "A configuration for an external identity provider.",
      "type": "object"
    },
    "GoogleIamV1betaWorkloadIdentityPool": {
      "properties": {
        "expireTime": {
          "format": "google-datetime",
          "description": "Output only. Time after which the workload identity pool will be permanently purged and cannot be recovered.",
          "readOnly": true,
          "type": "string"
        },
        "description": {
          "type": "string",
          "description": "A description of the pool. Cannot exceed 256 characters."
        },
        "state": {
          "readOnly": true,
          "description": "Output only. The state of the pool.",
          "enumDescriptions": [
            "State unspecified.",
            "The pool is active, and may be used in Cloud de Confiance policies.",
            "The pool is soft-deleted. Soft-deleted pools are permanently deleted after approximately 30 days. You can restore a soft-deleted pool using UndeleteWorkloadIdentityPool. You cannot reuse the ID of a soft-deleted pool until it is permanently deleted. While a pool is deleted, you cannot use it to exchange tokens, or use existing tokens to access resources. If the pool is undeleted, existing tokens grant access again."
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "ACTIVE",
            "DELETED"
          ],
          "type": "string"
        },
        "displayName": {
          "description": "A display name for the pool. Cannot exceed 32 characters.",
          "type": "string"
        },
        "name": {
          "type": "string",
          "description": "Output only. The resource name of the pool.",
          "readOnly": true
        },
        "disabled": {
          "description": "Whether the pool is disabled. You cannot use a disabled pool to exchange tokens, or use existing tokens to access resources. If the pool is re-enabled, existing tokens grant access again.",
          "type": "boolean"
        }
      },
      "type": "object",
      "description": "Represents a collection of workload identities. You can define IAM policies to grant these identities access to Cloud de Confiance resources.",
      "id": "GoogleIamV1betaWorkloadIdentityPool"
    }
  },
  "servicePath": "",
  "documentationLink": "https://documentation.s3ns.fr/iam",
  "basePath": "",
  "canonicalName": "Iam",
  "fullyEncodeReservedExpansion": true,
  "ownerName": "Google",
  "parameters": {
    "alt": {
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "type": "string",
      "location": "query",
      "default": "json",
      "description": "Data format for response.",
      "enum": [
        "json",
        "media",
        "proto"
      ]
    },
    "uploadType": {
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "location": "query",
      "type": "string"
    },
    "quotaUser": {
      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
      "location": "query",
      "type": "string"
    },
    "prettyPrint": {
      "location": "query",
      "description": "Returns response with indentations and line breaks.",
      "type": "boolean",
      "default": "true"
    },
    "oauth_token": {
      "location": "query",
      "type": "string",
      "description": "OAuth 2.0 token for the current user."
    },
    "fields": {
      "description": "Selector specifying which fields to include in a partial response.",
      "type": "string",
      "location": "query"
    },
    "key": {
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
      "location": "query",
      "type": "string"
    },
    "access_token": {
      "description": "OAuth access token.",
      "type": "string",
      "location": "query"
    },
    "upload_protocol": {
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "location": "query",
      "type": "string"
    },
    "$.xgafv": {
      "enum": [
        "1",
        "2"
      ],
      "description": "V1 error format.",
      "type": "string",
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "location": "query"
    },
    "callback": {
      "description": "JSONP",
      "type": "string",
      "location": "query"
    }
  }
}
