{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://api-evangelist.github.io/infisical/json-schema/infisical-dynamic-secret-create.json",
  "title": "Dynamic Secret Create",
  "description": "JSON Schema for the Infisical dynamic secret create operation.",
  "type": "object",
  "properties": {
    "projectSlug": {
      "type": "string",
      "minLength": 1,
      "description": "The slug of the project to create dynamic secret in."
    },
    "provider": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "sql-database"
              ]
            },
            "inputs": {
              "type": "object",
              "properties": {
                "client": {
                  "type": "string",
                  "enum": [
                    "postgres",
                    "mysql2",
                    "oracledb",
                    "mssql",
                    "sap-ase",
                    "vertica"
                  ]
                },
                "host": {
                  "type": "string"
                },
                "port": {
                  "type": "number"
                },
                "database": {
                  "type": "string"
                },
                "username": {
                  "type": "string"
                },
                "password": {
                  "type": "string"
                },
                "passwordRequirements": {
                  "type": "object",
                  "properties": {
                    "length": {
                      "type": "number",
                      "minimum": 1,
                      "maximum": 250
                    },
                    "required": {
                      "type": "object",
                      "properties": {
                        "lowercase": {
                          "type": "number",
                          "minimum": 0
                        },
                        "uppercase": {
                          "type": "number",
                          "minimum": 0
                        },
                        "digits": {
                          "type": "number",
                          "minimum": 0
                        },
                        "symbols": {
                          "type": "number",
                          "minimum": 0
                        }
                      },
                      "required": [
                        "lowercase",
                        "uppercase",
                        "digits",
                        "symbols"
                      ],
                      "additionalProperties": false
                    },
                    "allowedSymbols": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "length",
                    "required"
                  ],
                  "additionalProperties": false,
                  "description": "Password generation requirements"
                },
                "creationStatement": {
                  "type": "string"
                },
                "revocationStatement": {
                  "type": "string"
                },
                "renewStatement": {
                  "type": "string"
                },
                "ca": {
                  "type": "string"
                },
                "sslEnabled": {
                  "type": "boolean"
                },
                "sslRejectUnauthorized": {
                  "type": "boolean",
                  "default": true
                },
                "gatewayId": {
                  "type": "string",
                  "nullable": true
                },
                "gatewayPoolId": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "client",
                "host",
                "port",
                "database",
                "username",
                "password",
                "creationStatement",
                "revocationStatement"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "type",
            "inputs"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "clickhouse"
              ]
            },
            "inputs": {
              "type": "object",
              "properties": {
                "host": {
                  "type": "string"
                },
                "port": {
                  "type": "number"
                },
                "database": {
                  "type": "string"
                },
                "username": {
                  "type": "string"
                },
                "password": {
                  "type": "string"
                },
                "passwordRequirements": {
                  "type": "object",
                  "properties": {
                    "length": {
                      "type": "number",
                      "minimum": 1,
                      "maximum": 250
                    },
                    "required": {
                      "type": "object",
                      "properties": {
                        "lowercase": {
                          "type": "number",
                          "minimum": 0
                        },
                        "uppercase": {
                          "type": "number",
                          "minimum": 0
                        },
                        "digits": {
                          "type": "number",
                          "minimum": 0
                        },
                        "symbols": {
                          "type": "number",
                          "minimum": 0
                        }
                      },
                      "required": [
                        "lowercase",
                        "uppercase",
                        "digits",
                        "symbols"
                      ],
                      "additionalProperties": false
                    },
                    "allowedSymbols": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "length",
                    "required"
                  ],
                  "additionalProperties": false,
                  "description": "Password generation requirements"
                },
                "creationStatement": {
                  "type": "string"
                },
                "revocationStatement": {
                  "type": "string"
                },
                "renewStatement": {
                  "type": "string"
                },
                "ca": {
                  "type": "string"
                },
                "gatewayId": {
                  "type": "string",
                  "nullable": true
                },
                "gatewayPoolId": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "host",
                "port",
                "database",
                "username",
                "password",
                "creationStatement",
                "revocationStatement"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "type",
            "inputs"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "cassandra"
              ]
            },
            "inputs": {
              "type": "object",
              "properties": {
                "host": {
                  "type": "string"
                },
                "port": {
                  "type": "number"
                },
                "localDataCenter": {
                  "type": "string",
                  "minLength": 1
                },
                "keyspace": {
                  "type": "string"
                },
                "username": {
                  "type": "string"
                },
                "password": {
                  "type": "string"
                },
                "creationStatement": {
                  "type": "string"
                },
                "revocationStatement": {
                  "type": "string"
                },
                "renewStatement": {
                  "type": "string"
                },
                "ca": {
                  "type": "string"
                },
                "sslRejectUnauthorized": {
                  "type": "boolean",
                  "default": true
                }
              },
              "required": [
                "host",
                "port",
                "localDataCenter",
                "username",
                "password",
                "creationStatement",
                "revocationStatement"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "type",
            "inputs"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "sap-ase"
              ]
            },
            "inputs": {
              "type": "object",
              "properties": {
                "host": {
                  "type": "string"
                },
                "port": {
                  "type": "number"
                },
                "database": {
                  "type": "string"
                },
                "username": {
                  "type": "string"
                },
                "password": {
                  "type": "string"
                },
                "creationStatement": {
                  "type": "string"
                },
                "revocationStatement": {
                  "type": "string"
                }
              },
              "required": [
                "host",
                "port",
                "database",
                "username",
                "password",
                "creationStatement",
                "revocationStatement"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "type",
            "inputs"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "aws-iam"
              ]
            },
            "inputs": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "method": {
                      "type": "string",
                      "enum": [
                        "access-key"
                      ]
                    },
                    "credentialType": {
                      "type": "string",
                      "enum": [
                        "iam-user",
                        "temporary-credentials"
                      ],
                      "default": "iam-user"
                    },
                    "accessKey": {
                      "type": "string",
                      "minLength": 1
                    },
                    "secretAccessKey": {
                      "type": "string",
                      "minLength": 1
                    },
                    "region": {
                      "type": "string",
                      "minLength": 1
                    },
                    "awsPath": {
                      "type": "string"
                    },
                    "permissionBoundaryPolicyArn": {
                      "type": "string"
                    },
                    "policyDocument": {
                      "type": "string"
                    },
                    "userGroups": {
                      "type": "string"
                    },
                    "policyArns": {
                      "type": "string"
                    },
                    "tags": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "key": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 255
                          },
                          "value": {
                            "type": "string",
                            "maxLength": 1020,
                            "default": ""
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "method",
                    "accessKey",
                    "secretAccessKey",
                    "region"
                  ],
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "properties": {
                    "method": {
                      "type": "string",
                      "enum": [
                        "assume-role"
                      ]
                    },
                    "credentialType": {
                      "type": "string",
                      "enum": [
                        "iam-user",
                        "temporary-credentials"
                      ],
                      "default": "iam-user"
                    },
                    "roleArn": {
                      "type": "string",
                      "minLength": 1
                    },
                    "region": {
                      "type": "string",
                      "minLength": 1
                    },
                    "awsPath": {
                      "type": "string"
                    },
                    "permissionBoundaryPolicyArn": {
                      "type": "string"
                    },
                    "policyDocument": {
                      "type": "string"
                    },
                    "userGroups": {
                      "type": "string"
                    },
                    "policyArns": {
                      "type": "string"
                    },
                    "tags": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "key": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 255
                          },
                          "value": {
                            "type": "string",
                            "maxLength": 1020,
                            "default": ""
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "method",
                    "roleArn",
                    "region"
                  ],
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "properties": {
                    "method": {
                      "type": "string",
                      "enum": [
                        "irsa"
                      ]
                    },
                    "credentialType": {
                      "type": "string",
                      "enum": [
                        "iam-user",
                        "temporary-credentials"
                      ],
                      "default": "iam-user"
                    },
                    "region": {
                      "type": "string",
                      "minLength": 1
                    },
                    "awsPath": {
                      "type": "string"
                    },
                    "permissionBoundaryPolicyArn": {
                      "type": "string"
                    },
                    "policyDocument": {
                      "type": "string"
                    },
                    "userGroups": {
                      "type": "string"
                    },
                    "policyArns": {
                      "type": "string"
                    },
                    "tags": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "key": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 255
                          },
                          "value": {
                            "type": "string",
                            "maxLength": 1020,
                            "default": ""
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "method",
                    "region"
                  ],
                  "additionalProperties": false
                }
              ]
            }
          },
          "required": [
            "type",
            "inputs"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "redis"
              ]
            },
            "inputs": {
              "type": "object",
              "properties": {
                "host": {
                  "type": "string"
                },
                "port": {
                  "type": "number"
                },
                "username": {
                  "type": "string"
                },
                "password": {
                  "type": "string"
                },
                "creationStatement": {
                  "type": "string"
                },
                "revocationStatement": {
                  "type": "string"
                },
                "renewStatement": {
                  "type": "string"
                },
                "ca": {
                  "type": "string"
                },
                "sslRejectUnauthorized": {
                  "type": "boolean",
                  "default": true
                }
              },
              "required": [
                "host",
                "port",
                "username",
                "creationStatement",
                "revocationStatement"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "type",
            "inputs"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "sap-hana"
              ]
            },
            "inputs": {
              "type": "object",
              "properties": {
                "host": {
                  "type": "string"
                },
                "port": {
                  "type": "number"
                },
                "username": {
                  "type": "string"
                },
                "password": {
                  "type": "string"
                },
                "creationStatement": {
                  "type": "string"
                },
                "revocationStatement": {
                  "type": "string"
                },
                "renewStatement": {
                  "type": "string"
                },
                "ca": {
                  "type": "string"
                },
                "sslRejectUnauthorized": {
                  "type": "boolean",
                  "default": true
                }
              },
              "required": [
                "host",
                "port",
                "username",
                "password",
                "creationStatement",
                "revocationStatement"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "type",
            "inputs"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "aws-elasticache"
              ]
            },
            "inputs": {
              "type": "object",
              "properties": {
                "clusterName": {
                  "type": "string",
                  "minLength": 1
                },
                "accessKeyId": {
                  "type": "string",
                  "minLength": 1
                },
                "secretAccessKey": {
                  "type": "string",
                  "minLength": 1
                },
                "region": {
                  "type": "string"
                },
                "creationStatement": {
                  "type": "string"
                },
                "revocationStatement": {
                  "type": "string"
                }
              },
              "required": [
                "clusterName",
                "accessKeyId",
                "secretAccessKey",
                "region",
                "creationStatement",
                "revocationStatement"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "type",
            "inputs"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "aws-memorydb"
              ]
            },
            "inputs": {
              "type": "object",
              "properties": {
                "clusterName": {
                  "type": "string",
                  "minLength": 1
                },
                "auth": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "enum": [
                            "iam"
                          ]
                        },
                        "accessKeyId": {
                          "type": "string",
                          "minLength": 1
                        },
                        "secretAccessKey": {
                          "type": "string",
                          "minLength": 1
                        }
                      },
                      "required": [
                        "type",
                        "accessKeyId",
                        "secretAccessKey"
                      ],
                      "additionalProperties": false
                    }
                  ]
                },
                "region": {
                  "type": "string",
                  "minLength": 1
                },
                "creationStatement": {
                  "type": "string"
                },
                "revocationStatement": {
                  "type": "string"
                }
              },
              "required": [
                "clusterName",
                "auth",
                "region",
                "creationStatement",
                "revocationStatement"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "type",
            "inputs"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "mongo-db-atlas"
              ]
            },
            "inputs": {
              "type": "object",
              "properties": {
                "adminPublicKey": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Admin user public api key"
                },
                "adminPrivateKey": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Admin user private api key"
                },
                "groupId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Unique 24-hexadecimal digit string that identifies your project. This is same as project id"
                },
                "roles": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "collectionName": {
                        "type": "string",
                        "description": "Collection on which this role applies."
                      },
                      "databaseName": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Database to which the user is granted access privileges."
                      },
                      "roleName": {
                        "type": "string",
                        "minLength": 1,
                        "description": " Enum: \"atlasAdmin\" \"backup\" \"clusterMonitor\" \"dbAdmin\" \"dbAdminAnyDatabase\" \"enableSharding\" \"read\" \"readAnyDatabase\" \"readWrite\" \"readWriteAnyDatabase\" \"<a custom role name>\".Human-readable label that identifies a group of privileges assigned to a database user. This value can either be a built-in role or a custom role."
                      }
                    },
                    "required": [
                      "databaseName",
                      "roleName"
                    ],
                    "additionalProperties": false
                  },
                  "minItems": 1
                },
                "scopes": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Human-readable label that identifies the cluster or MongoDB Atlas Data Lake that this database user can access."
                      },
                      "type": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Category of resource that this database user can access. Enum: CLUSTER, DATA_LAKE, STREAM"
                      }
                    },
                    "required": [
                      "name",
                      "type"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "adminPublicKey",
                "adminPrivateKey",
                "groupId",
                "roles",
                "scopes"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "type",
            "inputs"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "elastic-search"
              ]
            },
            "inputs": {
              "type": "object",
              "properties": {
                "host": {
                  "type": "string",
                  "minLength": 1
                },
                "port": {
                  "type": "number"
                },
                "roles": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1
                  },
                  "minItems": 1
                },
                "auth": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "enum": [
                            "user"
                          ]
                        },
                        "username": {
                          "type": "string"
                        },
                        "password": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "type",
                        "username",
                        "password"
                      ],
                      "additionalProperties": false
                    },
                    {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "enum": [
                            "api-key"
                          ]
                        },
                        "apiKey": {
                          "type": "string"
                        },
                        "apiKeyId": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "type",
                        "apiKey",
                        "apiKeyId"
                      ],
                      "additionalProperties": false
                    }
                  ]
                },
                "ca": {
                  "type": "string"
                },
                "sslRejectUnauthorized": {
                  "type": "boolean",
                  "default": true
                }
              },
              "required": [
                "host",
                "port",
                "roles",
                "auth"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "type",
            "inputs"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "mongo-db"
              ]
            },
            "inputs": {
              "type": "object",
              "properties": {
                "host": {
                  "type": "string",
                  "minLength": 1
                },
                "port": {
                  "type": "number",
                  "nullable": true
                },
                "username": {
                  "type": "string",
                  "minLength": 1
                },
                "password": {
                  "type": "string",
                  "minLength": 1
                },
                "database": {
                  "type": "string",
                  "minLength": 1
                },
                "ca": {
                  "type": "string",
                  "nullable": true
                },
                "sslRejectUnauthorized": {
                  "type": "boolean",
                  "default": true
                },
                "roles": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "minItems": 1,
                  "description": "Enum: \"atlasAdmin\" \"backup\" \"clusterMonitor\" \"dbAdmin\" \"dbAdminAnyDatabase\" \"enableSharding\" \"read\" \"readAnyDatabase\" \"readWrite\" \"readWriteAnyDatabase\" \"<a custom role name>\".Human-readable label that identifies a group of privileges assigned to a database user. This value can either be a built-in role or a custom role."
                }
              },
              "required": [
                "host",
                "username",
                "password",
                "database",
                "roles"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "type",
            "inputs"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "rabbit-mq"
              ]
            },
            "inputs": {
              "type": "object",
              "properties": {
                "host": {
                  "type": "string",
                  "minLength": 1
                },
                "port": {
                  "type": "number"
                },
                "tags": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "default": []
                },
                "username": {
                  "type": "string",
                  "minLength": 1
                },
                "password": {
                  "type": "string",
                  "minLength": 1
                },
                "ca": {
                  "type": "string"
                },
                "sslRejectUnauthorized": {
                  "type": "boolean",
                  "default": true
                },
                "virtualHost": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string",
                      "minLength": 1
                    },
                    "permissions": {
                      "type": "object",
                      "properties": {
                        "read": {
                          "type": "string",
                          "minLength": 1
                        },
                        "write": {
                          "type": "string",
                          "minLength": 1
                        },
                        "configure": {
                          "type": "string",
                          "minLength": 1
                        }
                      },
                      "required": [
                        "read",
                        "write",
                        "configure"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "required": [
                    "name",
                    "permissions"
                  ],
                  "additionalProperties": false
                }
              },
              "required": [
                "host",
                "port",
                "username",
                "password",
                "virtualHost"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "type",
            "inputs"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "azure-entra-id"
              ]
            },
            "inputs": {
              "type": "object",
              "properties": {
                "tenantId": {
                  "type": "string",
                  "minLength": 1
                },
                "userId": {
                  "type": "string",
                  "minLength": 1
                },
                "email": {
                  "type": "string",
                  "minLength": 1
                },
                "applicationId": {
                  "type": "string",
                  "minLength": 1
                },
                "clientSecret": {
                  "type": "string",
                  "minLength": 1
                }
              },
              "required": [
                "tenantId",
                "userId",
                "email",
                "applicationId",
                "clientSecret"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "type",
            "inputs"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "azure-sql-database"
              ]
            },
            "inputs": {
              "type": "object",
              "properties": {
                "host": {
                  "type": "string"
                },
                "port": {
                  "type": "number"
                },
                "database": {
                  "type": "string"
                },
                "masterDatabase": {
                  "type": "string",
                  "default": "master"
                },
                "username": {
                  "type": "string"
                },
                "password": {
                  "type": "string"
                },
                "passwordRequirements": {
                  "type": "object",
                  "properties": {
                    "length": {
                      "type": "number",
                      "minimum": 1,
                      "maximum": 250
                    },
                    "required": {
                      "type": "object",
                      "properties": {
                        "lowercase": {
                          "type": "number",
                          "minimum": 0
                        },
                        "uppercase": {
                          "type": "number",
                          "minimum": 0
                        },
                        "digits": {
                          "type": "number",
                          "minimum": 0
                        },
                        "symbols": {
                          "type": "number",
                          "minimum": 0
                        }
                      },
                      "required": [
                        "lowercase",
                        "uppercase",
                        "digits",
                        "symbols"
                      ],
                      "additionalProperties": false
                    },
                    "allowedSymbols": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "length",
                    "required"
                  ],
                  "additionalProperties": false,
                  "description": "Password generation requirements"
                },
                "masterCreationStatement": {
                  "type": "string"
                },
                "creationStatement": {
                  "type": "string"
                },
                "revocationStatement": {
                  "type": "string"
                },
                "renewStatement": {
                  "type": "string"
                },
                "ca": {
                  "type": "string"
                },
                "sslEnabled": {
                  "type": "boolean"
                },
                "sslRejectUnauthorized": {
                  "type": "boolean",
                  "default": true
                },
                "gatewayId": {
                  "type": "string",
                  "nullable": true
                },
                "gatewayPoolId": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "host",
                "port",
                "database",
                "username",
                "password",
                "masterCreationStatement",
                "creationStatement",
                "revocationStatement"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "type",
            "inputs"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "ldap"
              ]
            },
            "inputs": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "url": {
                      "type": "string",
                      "minLength": 1
                    },
                    "binddn": {
                      "type": "string",
                      "minLength": 1
                    },
                    "bindpass": {
                      "type": "string",
                      "minLength": 1
                    },
                    "ca": {
                      "type": "string"
                    },
                    "sslRejectUnauthorized": {
                      "type": "boolean",
                      "default": true
                    },
                    "credentialType": {
                      "type": "string",
                      "enum": [
                        "dynamic"
                      ],
                      "default": "dynamic"
                    },
                    "creationLdif": {
                      "type": "string",
                      "minLength": 1
                    },
                    "revocationLdif": {
                      "type": "string",
                      "minLength": 1
                    },
                    "rollbackLdif": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "url",
                    "binddn",
                    "bindpass",
                    "creationLdif",
                    "revocationLdif"
                  ],
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "properties": {
                    "url": {
                      "type": "string",
                      "minLength": 1
                    },
                    "binddn": {
                      "type": "string",
                      "minLength": 1
                    },
                    "bindpass": {
                      "type": "string",
                      "minLength": 1
                    },
                    "ca": {
                      "type": "string"
                    },
                    "sslRejectUnauthorized": {
                      "type": "boolean",
                      "default": true
                    },
                    "credentialType": {
                      "type": "string",
                      "enum": [
                        "static"
                      ]
                    },
                    "rotationLdif": {
                      "type": "string",
                      "minLength": 1
                    }
                  },
                  "required": [
                    "url",
                    "binddn",
                    "bindpass",
                    "credentialType",
                    "rotationLdif"
                  ],
                  "additionalProperties": false
                }
              ]
            }
          },
          "required": [
            "type",
            "inputs"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "snowflake"
              ]
            },
            "inputs": {
              "type": "object",
              "properties": {
                "accountId": {
                  "type": "string",
                  "minLength": 1
                },
                "orgId": {
                  "type": "string",
                  "minLength": 1
                },
                "username": {
                  "type": "string",
                  "minLength": 1
                },
                "password": {
                  "type": "string",
                  "minLength": 1
                },
                "creationStatement": {
                  "type": "string",
                  "minLength": 1
                },
                "revocationStatement": {
                  "type": "string",
                  "minLength": 1
                },
                "renewStatement": {
                  "type": "string"
                }
              },
              "required": [
                "accountId",
                "orgId",
                "username",
                "password",
                "creationStatement",
                "revocationStatement"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "type",
            "inputs"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "totp"
              ]
            },
            "inputs": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "configType": {
                      "type": "string",
                      "enum": [
                        "url"
                      ]
                    },
                    "url": {
                      "type": "string",
                      "format": "uri",
                      "minLength": 1
                    }
                  },
                  "required": [
                    "configType",
                    "url"
                  ],
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "properties": {
                    "configType": {
                      "type": "string",
                      "enum": [
                        "manual"
                      ]
                    },
                    "secret": {
                      "type": "string",
                      "minLength": 1
                    },
                    "period": {
                      "type": "number"
                    },
                    "algorithm": {
                      "type": "string",
                      "enum": [
                        "sha1",
                        "sha256",
                        "sha512"
                      ]
                    },
                    "digits": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "configType",
                    "secret"
                  ],
                  "additionalProperties": false
                }
              ]
            }
          },
          "required": [
            "type",
            "inputs"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "kubernetes"
              ]
            },
            "inputs": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "url": {
                      "type": "string"
                    },
                    "clusterToken": {
                      "type": "string"
                    },
                    "ca": {
                      "type": "string"
                    },
                    "sslEnabled": {
                      "type": "boolean",
                      "default": false
                    },
                    "sslRejectUnauthorized": {
                      "type": "boolean",
                      "default": true
                    },
                    "credentialType": {
                      "type": "string",
                      "enum": [
                        "static"
                      ]
                    },
                    "serviceAccountName": {
                      "type": "string",
                      "minLength": 1
                    },
                    "namespace": {
                      "type": "string",
                      "minLength": 1
                    },
                    "gatewayId": {
                      "type": "string",
                      "nullable": true
                    },
                    "gatewayPoolId": {
                      "type": "string",
                      "nullable": true
                    },
                    "audiences": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "minLength": 1
                      }
                    },
                    "authMethod": {
                      "type": "string",
                      "enum": [
                        "gateway",
                        "api"
                      ],
                      "default": "api"
                    }
                  },
                  "required": [
                    "credentialType",
                    "serviceAccountName",
                    "namespace",
                    "audiences"
                  ],
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "properties": {
                    "url": {
                      "type": "string",
                      "format": "uri"
                    },
                    "clusterToken": {
                      "type": "string"
                    },
                    "ca": {
                      "type": "string"
                    },
                    "sslEnabled": {
                      "type": "boolean",
                      "default": false
                    },
                    "sslRejectUnauthorized": {
                      "type": "boolean",
                      "default": true
                    },
                    "credentialType": {
                      "type": "string",
                      "enum": [
                        "dynamic"
                      ]
                    },
                    "namespace": {
                      "type": "string",
                      "minLength": 1
                    },
                    "gatewayId": {
                      "type": "string",
                      "nullable": true
                    },
                    "gatewayPoolId": {
                      "type": "string",
                      "nullable": true
                    },
                    "audiences": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "minLength": 1
                      }
                    },
                    "roleType": {
                      "type": "string",
                      "enum": [
                        "cluster-role",
                        "role"
                      ]
                    },
                    "role": {
                      "type": "string",
                      "minLength": 1
                    },
                    "authMethod": {
                      "type": "string",
                      "enum": [
                        "gateway",
                        "api"
                      ],
                      "default": "api"
                    }
                  },
                  "required": [
                    "credentialType",
                    "namespace",
                    "audiences",
                    "roleType",
                    "role"
                  ],
                  "additionalProperties": false
                }
              ]
            }
          },
          "required": [
            "type",
            "inputs"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "vertica"
              ]
            },
            "inputs": {
              "type": "object",
              "properties": {
                "host": {
                  "type": "string"
                },
                "port": {
                  "type": "number"
                },
                "username": {
                  "type": "string"
                },
                "password": {
                  "type": "string"
                },
                "database": {
                  "type": "string"
                },
                "gatewayId": {
                  "type": "string",
                  "nullable": true
                },
                "gatewayPoolId": {
                  "type": "string",
                  "nullable": true
                },
                "creationStatement": {
                  "type": "string"
                },
                "revocationStatement": {
                  "type": "string"
                },
                "passwordRequirements": {
                  "type": "object",
                  "properties": {
                    "length": {
                      "type": "number",
                      "minimum": 1,
                      "maximum": 250
                    },
                    "required": {
                      "type": "object",
                      "properties": {
                        "lowercase": {
                          "type": "number",
                          "minimum": 0
                        },
                        "uppercase": {
                          "type": "number",
                          "minimum": 0
                        },
                        "digits": {
                          "type": "number",
                          "minimum": 0
                        },
                        "symbols": {
                          "type": "number",
                          "minimum": 0
                        }
                      },
                      "required": [
                        "lowercase",
                        "uppercase",
                        "digits",
                        "symbols"
                      ],
                      "additionalProperties": false
                    },
                    "allowedSymbols": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "length",
                    "required"
                  ],
                  "additionalProperties": false,
                  "description": "Password generation requirements"
                }
              },
              "required": [
                "host",
                "port",
                "username",
                "password",
                "database",
                "creationStatement",
                "revocationStatement"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "type",
            "inputs"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "gcp-iam"
              ]
            },
            "inputs": {
              "type": "object",
              "properties": {
                "serviceAccountEmail": {
                  "type": "string",
                  "format": "email",
                  "minLength": 1,
                  "maxLength": 128
                }
              },
              "required": [
                "serviceAccountEmail"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "type",
            "inputs"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "github"
              ]
            },
            "inputs": {
              "type": "object",
              "properties": {
                "appId": {
                  "type": "number",
                  "minimum": 1,
                  "description": "The ID of your GitHub App."
                },
                "installationId": {
                  "type": "number",
                  "minimum": 1,
                  "description": "The ID of the GitHub App installation."
                },
                "privateKey": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The private key generated for your GitHub App."
                }
              },
              "required": [
                "appId",
                "installationId",
                "privateKey"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "type",
            "inputs"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "couchbase"
              ]
            },
            "inputs": {
              "type": "object",
              "properties": {
                "url": {
                  "type": "string",
                  "format": "uri",
                  "minLength": 1,
                  "description": "Couchbase Cloud API URL"
                },
                "orgId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Organization ID"
                },
                "projectId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Project ID"
                },
                "clusterId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Cluster ID"
                },
                "roles": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1
                  },
                  "minItems": 1,
                  "description": "Roles to assign to the user"
                },
                "buckets": {
                  "anyOf": [
                    {
                      "type": "string",
                      "minLength": 1,
                      "default": "*"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "name": {
                            "type": "string",
                            "minLength": 1,
                            "description": "Bucket name"
                          },
                          "scopes": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "name": {
                                  "type": "string",
                                  "minLength": 1,
                                  "description": "Scope name"
                                },
                                "collections": {
                                  "type": "array",
                                  "items": {
                                    "type": "string",
                                    "minLength": 1
                                  },
                                  "description": "Collection names"
                                }
                              },
                              "required": [
                                "name"
                              ],
                              "additionalProperties": false
                            },
                            "description": "Scopes within the bucket"
                          }
                        },
                        "required": [
                          "name"
                        ],
                        "additionalProperties": false
                      }
                    }
                  ],
                  "default": "*",
                  "description": "Bucket configuration: '*' for all buckets, scopes, and collections or array of bucket objects with specific scopes and collections"
                },
                "passwordRequirements": {
                  "type": "object",
                  "properties": {
                    "length": {
                      "type": "number",
                      "minimum": 8,
                      "maximum": 128
                    },
                    "required": {
                      "type": "object",
                      "properties": {
                        "lowercase": {
                          "type": "number",
                          "minimum": 1
                        },
                        "uppercase": {
                          "type": "number",
                          "minimum": 1
                        },
                        "digits": {
                          "type": "number",
                          "minimum": 1
                        },
                        "symbols": {
                          "type": "number",
                          "minimum": 1
                        }
                      },
                      "required": [
                        "lowercase",
                        "uppercase",
                        "digits",
                        "symbols"
                      ],
                      "additionalProperties": false
                    },
                    "allowedSymbols": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "length",
                    "required"
                  ],
                  "additionalProperties": false,
                  "description": "Password generation requirements for Couchbase"
                },
                "auth": {
                  "type": "object",
                  "properties": {
                    "apiKey": {
                      "type": "string",
                      "minLength": 1,
                      "description": "Couchbase Cloud API Key"
                    }
                  },
                  "required": [
                    "apiKey"
                  ],
                  "additionalProperties": false
                }
              },
              "required": [
                "url",
                "orgId",
                "projectId",
                "clusterId",
                "roles",
                "auth"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "type",
            "inputs"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "milvus"
              ]
            },
            "inputs": {
              "type": "object",
              "properties": {
                "host": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Milvus endpoint host; uses https when the host includes https:// or a CA is provided, http when the host includes http://, otherwise http (e.g. localhost)."
                },
                "port": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 65535
                },
                "username": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Admin username used to manage Milvus users and roles"
                },
                "password": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Admin password used to manage Milvus users and roles"
                },
                "database": {
                  "type": "string",
                  "minLength": 1,
                  "default": "default",
                  "description": "Default Milvus database used for privilege grants"
                },
                "privileges": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "objectType": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Milvus object type (e.g. \"Collection\", \"Database\", \"Global\", \"User\", \"Cluster\")"
                      },
                      "objectName": {
                        "type": "string",
                        "minLength": 1,
                        "default": "*",
                        "description": "Name of the target object, or \"*\" to apply to all"
                      },
                      "privilege": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Milvus privilege name or built-in privilege group (e.g. \"Search\", \"COLL_RO\", \"DB_Admin\")"
                      },
                      "dbName": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Optional database override for this privilege"
                      }
                    },
                    "required": [
                      "objectType",
                      "privilege"
                    ],
                    "additionalProperties": false
                  },
                  "default": [],
                  "description": "Privileges granted to an ephemeral role bound to the lease user. Leave empty to create the user with only the built-in public role."
                },
                "ca": {
                  "type": "string"
                },
                "sslRejectUnauthorized": {
                  "type": "boolean",
                  "default": true
                },
                "gatewayId": {
                  "type": "string",
                  "nullable": true
                },
                "gatewayPoolId": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "host",
                "port",
                "username",
                "password"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "type",
            "inputs"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "ssh"
              ]
            },
            "inputs": {
              "type": "object",
              "properties": {
                "principals": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1
                  },
                  "minItems": 1
                },
                "keyAlgorithm": {
                  "type": "string",
                  "enum": [
                    "RSA_2048",
                    "RSA_4096",
                    "EC_prime256v1",
                    "EC_secp384r1",
                    "ED25519"
                  ],
                  "default": "ED25519"
                }
              },
              "required": [
                "principals"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "type",
            "inputs"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "ibm-api-connect"
              ]
            },
            "inputs": {
              "type": "object",
              "properties": {
                "clientId": {
                  "type": "string",
                  "minLength": 1
                },
                "clientSecret": {
                  "type": "string",
                  "minLength": 1
                },
                "instanceUrl": {
                  "type": "string",
                  "format": "uri",
                  "minLength": 1
                },
                "apiKey": {
                  "type": "string",
                  "minLength": 1
                },
                "orgId": {
                  "type": "string",
                  "minLength": 1
                },
                "catalogId": {
                  "type": "string",
                  "minLength": 1
                },
                "consumerOrgId": {
                  "type": "string",
                  "minLength": 1
                },
                "appId": {
                  "type": "string",
                  "minLength": 1
                },
                "gatewayId": {
                  "type": "string",
                  "nullable": true
                },
                "gatewayPoolId": {
                  "type": "string",
                  "nullable": true
                }
              },
              "required": [
                "clientId",
                "clientSecret",
                "instanceUrl",
                "apiKey",
                "orgId",
                "catalogId",
                "consumerOrgId",
                "appId"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "type",
            "inputs"
          ],
          "additionalProperties": false
        }
      ],
      "description": "The type of dynamic secret."
    },
    "defaultTTL": {
      "type": "string",
      "description": "The default TTL that will be applied for all the leases."
    },
    "maxTTL": {
      "type": "string",
      "description": "The maximum limit a TTL can be leases or renewed.",
      "nullable": true
    },
    "path": {
      "type": "string",
      "description": "The path to create the dynamic secret in.",
      "default": "/"
    },
    "environmentSlug": {
      "type": "string",
      "minLength": 1,
      "description": "The slug of the environment to create the dynamic secret in."
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "description": "The name of the dynamic secret."
    },
    "metadata": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "value": {
            "type": "string",
            "maxLength": 1020,
            "default": ""
          }
        },
        "required": [
          "key"
        ],
        "additionalProperties": false
      }
    },
    "usernameTemplate": {
      "type": "string",
      "maxLength": 255
    }
  },
  "required": [
    "projectSlug",
    "provider",
    "defaultTTL",
    "environmentSlug",
    "name"
  ],
  "additionalProperties": false
}