# レコードフィールドクラス

## レコードフィールドにアクセス

`getField` メソッドを使用して、レコードのフィールドにアクセスします。

#### Java

```java
data.getField(FieldType.class)
```

#### Kotlin

```kotlin
data.getField<FieldType>()
```

`FieldType` には、以下の一覧に含まれるクラスを指定する必要があります。

## フィールドタイプクラスのリファレンス

### KeeperRecordField

すべてのレコードフィールドはKeeperRecordFieldクラスを拡張し、lblフィールドを含みます

```
sealed class KeeperRecordField {
    abstract val label: String?
}
```

#### フィールド値

<table><thead><tr><th>名前</th><th width="160">型</th><th width="162">必須</th><th>デフォルト</th></tr></thead><tbody><tr><td>label</td><td><code>String</code></td><td>いいえ</td><td>null</td></tr></tbody></table>

### Password

```
data class Password(
    var label:String? = null,
    var required:Boolean? = null,
    var privacyScreen:Boolean? = null,
    var enforceGeneration:Boolean? = null,
    var complexity:PasswordComplexity? = null,
    val value:MutableList<String>
)
```

#### フィールド値

| 名前                | 型                     | 必須  | デフォルト |
| ----------------- | --------------------- | --- | ----- |
| label             | `String`              | いいえ | null  |
| required          | `Boolean`             | いいえ | null  |
| privacyScreen     | `Boolean`             | いいえ | null  |
| enforceGeneration | `Boolean`             | いいえ | null  |
| value             | `MutableList<String>` | はい  |       |

### Url

{% code overflow="wrap" %}

```
data class Url(var label:String? = null, var required:Boolean? = null, var privacyScreen:Boolean? = null, val value:MutableList<String>)
```

{% endcode %}

#### フィールド値

| 名前            | 型                     | 必須  | デフォルト |
| ------------- | --------------------- | --- | ----- |
| label         | `String`              | いいえ | null  |
| required      | `Boolean`             | いいえ | null  |
| privacyScreen | `Boolean`             | いいえ | null  |
| value         | `MutableList<String>` | はい  |       |

### FileRef

{% code overflow="wrap" %}

```
data class FileRef(var label:String? = null, var required:Boolean? = null, val value:MutableList<String>)
```

{% endcode %}

#### フィールド値

| 名前       | 型                     | 必須  | デフォルト |
| -------- | --------------------- | --- | ----- |
| label    | `String`              | いいえ | null  |
| required | `Boolean`             | いいえ | null  |
| value    | `MutableList<String>` | はい  |       |

### OneTimeCode

{% code overflow="wrap" %}

```
data class OneTimeCode(var label:String? = null, var required:Boolean? = null, val value:MutableList<String>)
```

{% endcode %}

#### フィールド値

| 名前       | 型                     | 必須  | デフォルト |
| -------- | --------------------- | --- | ----- |
| label    | `String`              | いいえ | null  |
| required | `Boolean`             | いいえ | null  |
| value    | `MutableList<String>` | はい  |       |

### OneTimePassword

{% code overflow="wrap" %}

```
data class OneTimePassword(var label:String? = null, var required:Boolean? = null, val value:MutableList<String>)
```

{% endcode %}

#### フィールド値

| 名前       | 型                     | 必須  | デフォルト |
| -------- | --------------------- | --- | ----- |
| label    | `String`              | いいえ | null  |
| required | `Boolean`             | いいえ | null  |
| value    | `MutableList<String>` | はい  |       |

### Name

{% code overflow="wrap" %}

```
data class Name(var first:String? = null, var middle:String? = null, var last:String? = null)
```

{% endcode %}

#### フィールド値

| 名前     | 型        | 必須  | デフォルト |
| ------ | -------- | --- | ----- |
| first  | `String` | いいえ | null  |
| middle | `String` | いいえ | null  |
| last   | `String` | いいえ | null  |

### Names

{% code overflow="wrap" %}

```
data class Names(val label:String? = null, var required:Boolean? = null, var privacyScreen:Boolean? = null, val value:MutableList<Name>)
```

{% endcode %}

#### フィールド値

| 名前            | 型                   | 必須  | デフォルト |
| ------------- | ------------------- | --- | ----- |
| label         | `String`            | いいえ | null  |
| required      | `Boolean`           | いいえ | null  |
| privacyScreen | `Boolean`           | いいえ | null  |
| value         | `MutableList<Name>` | はい  |       |

### BirthDate

{% code overflow="wrap" %}

```
data class BirthDate(var label:String? = null, var required:Boolean? = null, var privacyScreen:Boolean? = null, val value:MutableList<Long>)
```

{% endcode %}

#### フィールド値

| 名前            | 型                   | 必須  | デフォルト |
| ------------- | ------------------- | --- | ----- |
| label         | `String`            | いいえ | null  |
| required      | `Boolean`           | いいえ | null  |
| privacyScreen | `Boolean`           | いいえ | null  |
| value         | `MutableList<Long>` | はい  |       |

### Date

{% code overflow="wrap" %}

```
data class Date(var label:String? = null, var required:Boolean? = null, var privacyScreen:Boolean? = null, val value:MutableList<Long>)
```

{% endcode %}

#### フィールド値

| 名前            | 型                   | 必須  | デフォルト |
| ------------- | ------------------- | --- | ----- |
| label         | `String`            | いいえ | null  |
| required      | `Boolean`           | いいえ | null  |
| privacyScreen | `Boolean`           | いいえ | null  |
| value         | `MutableList<Long>` | はい  |       |

### ExpirationDate

{% code overflow="wrap" %}

```
data class ExpirationDate(var label:String? = null, var required:Boolean? = null, var privacyScreen:Boolean? = null, val value:MutableList<Long>)
```

{% endcode %}

#### フィールド値

| 名前            | 型                   | 必須  | デフォルト |
| ------------- | ------------------- | --- | ----- |
| label         | `String`            | いいえ | null  |
| required      | `Boolean`           | いいえ | null  |
| privacyScreen | `Boolean`           | いいえ | null  |
| value         | `MutableList<Long>` | はい  |       |

### Text

{% code overflow="wrap" %}

```
data class Text(var label:String? = null, var required:Boolean? = null, var privacyScreen:Boolean? = null, var value:MutableList<String>)
```

{% endcode %}

#### フィールド値

| 名前            | 型                     | 必須  | デフォルト |
| ------------- | --------------------- | --- | ----- |
| label         | `String`              | いいえ | null  |
| required      | `Boolean`             | いいえ | null  |
| privacyScreen | `Boolean`             | いいえ | null  |
| value         | `MutableList<String>` | はい  |       |

### SecurityQuestion

{% code overflow="wrap" %}

```
data class SecurityQuestion(var question:String? = null, var answer:String? = null)
```

{% endcode %}

#### フィールド値

| 名前       | 型        | 必須  | デフォルト |
| -------- | -------- | --- | ----- |
| question | `String` | いいえ | null  |
| answer   | `String` | いいえ | null  |

### SecurityQuestions

```
data class SecurityQuestions(
    var label:String? = null,
    var required:Boolean? = null,
    var privacyScreen:Boolean? = null,
    val value:MutableList<SecurityQuestion>
)
```

#### フィールド値

| 名前            | 型                               | 必須  | デフォルト |
| ------------- | ------------------------------- | --- | ----- |
| label         | `String`                        | いいえ | null  |
| required      | `Boolean`                       | いいえ | null  |
| privacyScreen | `Boolean`                       | いいえ | null  |
| value         | `MutableList<SecurityQuestion>` | はい  |       |

### Multiline

{% code overflow="wrap" %}

```
data class Multiline(var label:String? = null, var required:Boolean? = null, var privacyScreen:Boolean? = null, val value:MutableList<String>)
```

{% endcode %}

#### フィールド値

| 名前            | 型                     | 必須  | デフォルト |
| ------------- | --------------------- | --- | ----- |
| label         | `String`              | いいえ | null  |
| required      | `Boolean`             | いいえ | null  |
| privacyScreen | `Boolean`             | いいえ | null  |
| value         | `MutableList<String>` | はい  |       |

### Email

{% code overflow="wrap" %}

```
data class Email(var label:String? = null, var required:Boolean? = null, var privacyScreen:Boolean? = null, val value:MutableList<String>)
```

{% endcode %}

#### フィールド値

| 名前            | 型                     | 必須  | デフォルト |
| ------------- | --------------------- | --- | ----- |
| label         | `String`              | いいえ | null  |
| required      | `Boolean`             | いいえ | null  |
| privacyScreen | `Boolean`             | いいえ | null  |
| value         | `MutableList<String>` | はい  |       |

### CardRef

{% code overflow="wrap" %}

```
data class CardRef(var label:String? = null, var required:Boolean? = null, var privacyScreen:Boolean? = null, val value:MutableList<String>)
```

{% endcode %}

#### フィールド値

| 名前            | 型                     | 必須  | デフォルト |
| ------------- | --------------------- | --- | ----- |
| label         | `String`              | いいえ | null  |
| required      | `Boolean`             | いいえ | null  |
| privacyScreen | `Boolean`             | いいえ | null  |
| value         | `MutableList<String>` | はい  |       |

### AddressRef

{% code overflow="wrap" %}

```
data class AddressRef(var label:String? = null, var required:Boolean? = null, var privacyScreen:Boolean? = null, val value:MutableList<String>)
```

{% endcode %}

#### フィールド値

| 名前            | 型                     | 必須  | デフォルト |
| ------------- | --------------------- | --- | ----- |
| label         | `String`              | いいえ | null  |
| required      | `Boolean`             | いいえ | null  |
| privacyScreen | `Boolean`             | いいえ | null  |
| value         | `MutableList<String>` | はい  |       |

### PinCode

{% code overflow="wrap" %}

```
data class PinCode(
    var label: String? = null,
    var required: Boolean? = null,
    var privacyScreen: Boolean? = null,
    val value: MutableList<String>
)
```

{% endcode %}

#### フィールド値

| 名前       | 型                     | 必須  | デフォルト |
| -------- | --------------------- | --- | ----- |
| label    | `String`              | いいえ | null  |
| required | `Boolean`             | いいえ | null  |
| value    | `MutableList<String>` | はい  |       |

### Phone

```
data class Phone(
    val region:String? = null,
    val number:String? = null,
    val ext:String? = null,
    val type:String? = null
)
```

#### フィールド値

| 名前     | 型        | 必須  | デフォルト |
| ------ | -------- | --- | ----- |
| region | `String` | いいえ | null  |
| number | `String` | いいえ | null  |
| ext    | `String` | いいえ | null  |
| type   | `String` | いいえ | null  |

### Phones

{% code overflow="wrap" %}

```
data class Phones(val label:String? = null, var required:Boolean? = null, var privacyScreen:Boolean? = null, val value:List<Phone>)
```

{% endcode %}

#### フィールド値

| 名前            | 型             | 必須  | デフォルト |
| ------------- | ------------- | --- | ----- |
| label         | `String`      | いいえ | null  |
| required      | `Boolean`     | いいえ | null  |
| privacyScreen | `Boolean`     | いいえ | null  |
| value         | `List<Phone>` | はい  |       |

### HiddenField

{% code overflow="wrap" %}

```
data class HiddenField(
    val label: String? = null,
    var required: Boolean? = null,
    var privacyScreen: Boolean? = null,
    val value: List<String>
)
```

{% endcode %}

#### フィールド値

| 名前            | 型              | 必須  | デフォルト |
| ------------- | -------------- | --- | ----- |
| label         | `String`       | いいえ | null  |
| required      | `Boolean`      | いいえ | null  |
| privacyScreen | `Boolean`      | いいえ | null  |
| value         | `List<String>` | はい  |       |

### SecureNote

{% code overflow="wrap" %}

```
data class SecureNote(val label:String? = null, var required:Boolean? = null, var privacyScreen:Boolean? = null, val value:List<String>)
```

{% endcode %}

#### フィールド値

| 名前            | 型              | 必須  | デフォルト |
| ------------- | -------------- | --- | ----- |
| label         | `String`       | いいえ | null  |
| required      | `Boolean`      | いいえ | null  |
| privacyScreen | `Boolean`      | いいえ | null  |
| value         | `List<String>` | はい  |       |

### AccountNumber

{% code overflow="wrap" %}

```
data class AccountNumber(val label:String? = null, var required:Boolean? = null, var privacyScreen:Boolean? = null, val value:List<String>)
```

{% endcode %}

#### フィールド値

| 名前            | 型              | 必須  | デフォルト |
| ------------- | -------------- | --- | ----- |
| label         | `String`       | いいえ | null  |
| required      | `Boolean`      | いいえ | null  |
| privacyScreen | `Boolean`      | いいえ | null  |
| value         | `List<String>` | はい  |       |

### PaymentCard

```
data class PaymentCard(
    var cardNumber:String? = null,
    var cardExpirationDate:String? = null,
    var cardSecurityCode:String? = null
)
```

#### フィールド値

| 名前                 | 型        | 必須  | デフォルト |
| ------------------ | -------- | --- | ----- |
| cardNumber         | `String` | いいえ | null  |
| cardExpirationDate | `String` | いいえ | null  |
| cardSecurityCode   | `String` | いいえ | null  |

### PaymentCards

{% code overflow="wrap" %}

```
data class PaymentCards(val label:String? = null, var required:Boolean? = null, var privacyScreen:Boolean? = null, val value:MutableList<PaymentCard>) :
```

{% endcode %}

#### フィールド値

| 名前            | 型                           | 必須  | デフォルト |
| ------------- | --------------------------- | --- | ----- |
| label         | `String`                    | いいえ | null  |
| required      | `Boolean`                   | いいえ | null  |
| privacyScreen | `Boolean`                   | いいえ | null  |
| value         | `MutableList<PaymentCard>)` | はい  |       |

### BankAccount

```
data class BankAccount(
    var accountType:String? = null,
    var routingNumber:String? = null,
    var accountNumber:String? = null,
    var otherType:String? = null
)
```

#### フィールド値

| 名前            | 型        | 必須  | デフォルト |
| ------------- | -------- | --- | ----- |
| accountType   | `String` | いいえ | null  |
| routingNumber | `String` | いいえ | null  |
| accountNumber | `String` | いいえ | null  |
| otherType     | `String` | いいえ | null  |

### BankAccounts

{% code overflow="wrap" %}

```
data class BankAccounts(val label:String? = null, var required:Boolean? = null, var privacyScreen:Boolean? = null, val value:MutableList<BankAccount>) :
```

{% endcode %}

#### フィールド値

| 名前            | 型                           | 必須  | デフォルト |
| ------------- | --------------------------- | --- | ----- |
| label         | `String`                    | いいえ | null  |
| required      | `Boolean`                   | いいえ | null  |
| privacyScreen | `Boolean`                   | いいえ | null  |
| value         | `MutableList<BankAccount>)` | はい  |       |

### KeyPair

```
data class KeyPair(
    val publicKey:String? = null,
    val privateKey:String? = null,
)
```

#### フィールド値

| 名前         | 型        | 必須  | デフォルト |
| ---------- | -------- | --- | ----- |
| publicKey  | `String` | いいえ | null  |
| privateKey | `String` | いいえ | null  |

### KeyPairs

{% code overflow="wrap" %}

```
data class KeyPairs(val label:String? = null, var required:Boolean? = null, var privacyScreen:Boolean? = null, val value:MutableList<KeyPair>)
```

{% endcode %}

#### フィールド値

| 名前            | 型                      | 必須  | デフォルト |
| ------------- | ---------------------- | --- | ----- |
| label         | `String`               | いいえ | null  |
| required      | `Boolean`              | いいえ | null  |
| privacyScreen | `Boolean`              | いいえ | null  |
| value         | `MutableList<KeyPair>` | はい  |       |

### Host

```
data class Host(
    val hostName: String? = null,
    val port: String? = null,
    val allowSupplyUser: Boolean? = null,
    val allowSupplyHost: Boolean? = null
)
```

#### フィールド値

| 名前              | 型         | 必須  | デフォルト |
| --------------- | --------- | --- | ----- |
| hostName        | `String`  | いいえ | null  |
| port            | `String`  | いいえ | null  |
| allowSupplyUser | `Boolean` | いいえ | null  |
| allowSupplyHost | `Boolean` | いいえ | null  |

### Hosts

{% code overflow="wrap" %}

```
data class Hosts(val label:String? = null, var required:Boolean? = null, var privacyScreen:Boolean? = null, val value:MutableList<Host>)
```

{% endcode %}

#### フィールド値

| 名前            | 型                   | 必須  | デフォルト |
| ------------- | ------------------- | --- | ----- |
| label         | `String`            | いいえ | null  |
| required      | `Boolean`           | いいえ | null  |
| privacyScreen | `Boolean`           | いいえ | null  |
| value         | `MutableList<Host>` | はい  |       |

### Address

```
data class Address(
    val street1:String? = null,
    val street2:String? = null,
    val city:String? = null,
    val state:String? = null,
    val country:String? = null,
    val zip:String? = null
)
```

#### フィールド値

| 名前      | 型        | 必須  | デフォルト |
| ------- | -------- | --- | ----- |
| street1 | `String` | いいえ | null  |
| street2 | `String` | いいえ | null  |
| city    | `String` | いいえ | null  |
| state   | `String` | いいえ | null  |
| country | `String` | いいえ | null  |
| zip     | `String` | いいえ | null  |

### Addresses

{% code overflow="wrap" %}

```
data class Addresses(val label:String? = null, var required:Boolean? = null, var privacyScreen:Boolean? = null, val value:MutableList<Address>)
```

{% endcode %}

#### フィールド値

| 名前            | 型                      | 必須  | デフォルト |
| ------------- | ---------------------- | --- | ----- |
| label         | `String`               | いいえ | null  |
| required      | `Boolean`              | いいえ | null  |
| privacyScreen | `Boolean`              | いいえ | null  |
| value         | `MutableList<Address>` | はい  |       |

### LicenseNumber

{% code overflow="wrap" %}

```
data class LicenseNumber(val label:String? = null, var required:Boolean? = null, var privacyScreen:Boolean? = null, val value:MutableList<String>)
```

{% endcode %}

#### フィールド値

| 名前            | 型                     | 必須  | デフォルト |
| ------------- | --------------------- | --- | ----- |
| label         | `String`              | いいえ | null  |
| required      | `Boolean`             | いいえ | null  |
| privacyScreen | `Boolean`             | いいえ | null  |
| value         | `MutableList<String>` | はい  |       |

### KeeperFileData

```
data class KeeperFileData(
    val title:String,
    val name:String,
    val type:String?,
    val size:Long,
    val lastModified:Long
)
```

#### フィールド値

| 名前           | 型        | 必須  | デフォルト |
| ------------ | -------- | --- | ----- |
| title        | `String` | はい  |       |
| name         | `String` | はい  |       |
| type         | `String` | いいえ | null  |
| size         | `Long`   | はい  |       |
| lastModified | `Long`   | はい  |       |

### AllowedSettings

PAMリソースに対して、どの操作を許可するかを定義する構成オブジェクトです。

```
data class AllowedSettings(
    val connections: Boolean? = null,
    val portForwards: Boolean? = null,
    val rotation: Boolean? = null,
    val sessionRecording: Boolean? = null,
    val typescriptRecording: Boolean? = null
)
```

#### フィールド値

| 名前                  | 型         | 必須  | 既定値  | 説明                 |
| ------------------- | --------- | --- | ---- | ------------------ |
| connections         | `Boolean` | いいえ | null | リソースへの接続を許可します     |
| portForwards        | `Boolean` | いいえ | null | ポートフォワーディングを許可します  |
| rotation            | `Boolean` | いいえ | null | 認証情報のローテーションを許可します |
| sessionRecording    | `Boolean` | いいえ | null | セッション記録を有効にします     |
| typescriptRecording | `Boolean` | いいえ | null | タイプスクリプト記録を有効にします  |

### PamResource

コントローラー、フォルダ、認証情報に関する情報を含むPAMリソース参照です。

```
data class PamResource(
    val controllerUid: String? = null,
    val folderUid: String? = null,
    val resourceRef: MutableList<String>? = null,
    val adminCredentialRef: String? = null,
    val allowedSettings: AllowedSettings? = null
)
```

#### フィールド値

| 名前                 | 型                     | 必須  | 既定値  | 説明           |
| ------------------ | --------------------- | --- | ---- | ------------ |
| controllerUid      | `String`              | いいえ | null | コントローラーUID   |
| folderUid          | `String`              | いいえ | null | フォルダUID      |
| resourceRef        | `MutableList<String>` | いいえ | null | リソース参照UID    |
| adminCredentialRef | `String`              | いいえ | null | 管理者認証情報のUID  |
| allowedSettings    | `AllowedSettings`     | いいえ | null | 許可されている操作の構成 |

### PamResources

特権リソースにアクセスするためのPAMリソース構成です。

```
data class PamResources(
    val label: String? = null,
    var required: Boolean? = null,
    val value: MutableList<PamResource>
)
```

#### フィールド値

| 名前       | 型                          | 必須  | 既定値  | 説明           |
| -------- | -------------------------- | --- | ---- | ------------ |
| label    | `String`                   | いいえ | null | フィールドのラベル    |
| required | `Boolean`                  | いいえ | null | フィールドが必須かどうか |
| value    | `MutableList<PamResource>` | はい  | —    | PAMリソースの一覧   |

### 使用例

```javascript
PamResources pamResources = data.getField(PamResources.class);
if (pamResources != null && !pamResources.getValue().isEmpty()) {
    PamResource resource = pamResources.getValue().get(0);
    System.out.println("Controller UID: " + resource.getControllerUid());
    System.out.println("Folder UID: " + resource.getFolderUid());

    if (resource.getAllowedSettings() != null) {
        System.out.println("Connections allowed: " + resource.getAllowedSettings().getConnections());
        System.out.println("Rotation allowed: " + resource.getAllowedSettings().getRotation());
    }
}
```

### PamHostnames

PAMリソースに関連付けられたホスト名を示します。ホスト名およびポート情報にはHostタイプが使用されます。

```
data class PamHostnames(
    val label: String? = null,
    var required: Boolean? = null,
    var privacyScreen: Boolean? = null,
    val value: MutableList<Host>
)
```

#### フィールド値

| 名前            | 型                   | 必須  | 既定値  | 説明                 |
| ------------- | ------------------- | --- | ---- | ------------------ |
| label         | `String`            | いいえ | null | フィールドのラベル          |
| required      | `Boolean`           | いいえ | null | フィールドが必須かどうか       |
| privacyScreen | `Boolean`           | いいえ | null | プライバシースクリーンを有効にします |
| value         | `MutableList<Host>` | はい  | —    | ホストの一覧             |

{% hint style="info" %}
`PamHostnames` は、ホスト名とポートを含む `Host` タイプを使用します。Hostタイプの詳細については、上記の「Hosts」セクションをご参照ください。
{% endhint %}

### 使用例

```javascript
PamHostnames hostnames = data.getField(PamHostnames.class);
if (hostnames != null && !hostnames.getValue().isEmpty()) {
    for (Host host : hostnames.getValue()) {
        System.out.println("Hostname: " + host.getHostName());
        System.out.println("Port: " + host.getPort());
    }
}
```

### PamRbiConnection

音声およびクリップボード制御を含むRBI (リモートブラウザ分離) 接続設定です。

```
data class PamRbiConnection(
    val protocol: String? = null,
    val userRecords: MutableList<String>? = null,
    val recordingIncludeKeys: Boolean? = null,
    val allowUrlManipulation: Boolean? = null,
    val allowedUrlPatterns: String? = null,
    val allowedResourceUrlPatterns: String? = null,
    val httpCredentialsUid: String? = null,
    val autofillConfiguration: String? = null,
    val ignoreInitialSslCert: Boolean? = null,
    val disableAudio: Boolean? = null,
    val disableCopy: Boolean? = null,
    val disablePaste: Boolean? = null,
    val audioChannels: Int? = null,
    val audioBps: Int? = null,
    val audioSampleRate: Int? = null
)
```

#### フィールド値

| 名前                         | 型                     | 必須  | 既定値  | 説明                              |
| -------------------------- | --------------------- | --- | ---- | ------------------------------- |
| protocol                   | `String`              | いいえ | null | 接続プロトコル                         |
| userRecords                | `MutableList<String>` | いいえ | null | 関連付けられたユーザーレコードのUID             |
| recordingIncludeKeys       | `Boolean`             | いいえ | null | 記録にキーストロークを含めます                 |
| allowUrlManipulation       | `Boolean`             | いいえ | null | URL操作を許可します                     |
| allowedUrlPatterns         | `String`              | いいえ | null | 許可されたURLパターン                    |
| allowedResourceUrlPatterns | `String`              | いいえ | null | 許可されたリソースURLパターン                |
| httpCredentialsUid         | `String`              | いいえ | null | HTTP認証情報レコードのUID                |
| autofillConfiguration      | `String`              | いいえ | null | 自動入力構成のJSON                     |
| ignoreInitialSslCert       | `Boolean`             | いいえ | null | 初回のSSL証明書エラーを無視します              |
| **disableAudio**           | `Boolean`             | いいえ | null | **RBIセッションの音声を無効にします**          |
| **disableCopy**            | `Boolean`             | いいえ | null | **クリップボードのコピー操作を無効にします**        |
| **disablePaste**           | `Boolean`             | いいえ | null | **クリップボードの貼り付け操作を無効にします**       |
| **audioChannels**          | `Int`                 | いいえ | null | **音声チャンネル数 (例: 2はステレオ)**        |
| **audioBps**               | `Int`                 | いいえ | null | **音声のビット深度 (bps) (例: 16)**      |
| **audioSampleRate**        | `Int`                 | いいえ | null | **音声サンプリングレート (Hz) (例: 44100)** |

{% hint style="info" %}
v17.1.3の新機能

RBIの音声およびクリップボード制御をサポートするため、`disableAudio`、`disableCopy`、`disablePaste`、`audioChannels`、`audioBps`、`audioSampleRate` の6つのフィールドが追加されました。
{% endhint %}

### PamRemoteBrowserSetting

RBI接続設定を格納するコンテナです。

```
data class PamRemoteBrowserSetting(
    val connection: PamRbiConnection? = null
)
```

#### フィールド値

| 名前         | 型                  | 必須  | 既定値  | 説明       |
| ---------- | ------------------ | --- | ---- | -------- |
| connection | `PamRbiConnection` | いいえ | null | RBI接続の構成 |

### PamRemoteBrowserSettings

特権リソースへ安全にブラウザベースでアクセスするための、リモートブラウザ分離 (RBI) 設定です。

```
data class PamRemoteBrowserSettings(
    val label: String? = null,
    var required: Boolean? = null,
    val value: MutableList<PamRemoteBrowserSetting>
)
```

#### フィールド値

| 名前       | 型                                      | 必須  | 既定値  | 説明           |
| -------- | -------------------------------------- | --- | ---- | ------------ |
| label    | `String`                               | いいえ | null | フィールドのラベル    |
| required | `Boolean`                              | いいえ | null | フィールドが必須かどうか |
| value    | `MutableList<PamRemoteBrowserSetting>` | はい  | —    | RBI設定の一覧     |

### 使用例

```javascript
PamRemoteBrowserSettings rbiSettings = data.getField(PamRemoteBrowserSettings.class);
if (rbiSettings != null && !rbiSettings.getValue().isEmpty()) {
    PamRemoteBrowserSetting setting = rbiSettings.getValue().get(0);
    PamRbiConnection connection = setting.getConnection();

    if (connection != null) {
        System.out.println("Protocol: " + connection.getProtocol());
        System.out.println("Audio disabled: " + connection.getDisableAudio());
        System.out.println("Copy disabled: " + connection.getDisableCopy());
        System.out.println("Paste disabled: " + connection.getDisablePaste());

        if (connection.getAudioChannels() != null) {
            System.out.println("Audio channels: " + connection.getAudioChannels());
            System.out.println("Audio sample rate: " + connection.getAudioSampleRate());
        }
    }
}
```

### PamSettingsConnection

PAMリソース向けのプロトコル別接続設定です (RDP、SSH／ターミナル、VNC、Kubernetes)。フィールドはプロトコルの種類ごとに整理されており、接続タイプに関連する場合にのみ値が設定されます。

```kotlin
data class PamSettingsConnection(
    // 基本的な接続プロパティ
    val protocol: String? = null,
    val userRecords: MutableList<String>? = null,
    val port: String? = null,
    val allowSupplyUser: Boolean? = null,
    val allowSupplyHost: Boolean? = null,
    val recordingIncludeKeys: Boolean? = null,

    // 共通の表示およびセキュリティ設定
    val colorScheme: String? = null,
    val resizeMethod: String? = null,
    val security: String? = null,
    val ignoreCert: Boolean? = null,

    // クリップボード設定
    val disableCopy: Boolean? = null,
    val disablePaste: Boolean? = null,

    // データベース固有のフィールド
    val database: String? = null,
    val disableCsvExport: Boolean? = null,
    val disableCsvImport: Boolean? = null,

    // SSH／ターミナル設定 (新規10フィールド)
    val hostKey: String? = null,
    val command: String? = null,
    val fontSize: String? = null,
    val fontName: String? = null,
    val scrollback: Int? = null,
    val backspace: String? = null,
    val terminalType: String? = null,
    val clipboardEncoding: String? = null,
    val locale: String? = null,
    val timezone: String? = null,
    val serverAliveInterval: Int? = null,

    // VNC設定 (新規7フィールド)
    val destHost: String? = null,
    val destPort: String? = null,
    val enableAudio: Boolean? = null,
    val audioServername: String? = null,
    val swapRedBlue: Boolean? = null,
    val cursor: String? = null,
    val forceLossless: Boolean? = null,

    // RDP固有の設定 (新規26フィールド)
    val disableAuth: Boolean? = null,
    val loadBalanceInfo: String? = null,
    val preconnectionId: String? = null,
    val preconnectionBlob: String? = null,
    val disableAudio: Boolean? = null,
    val enableWallpaper: Boolean? = null,
    val enableFullWindowDrag: Boolean? = null,
    val sftp: SFTPConnection? = null,
    val initialProgram: String? = null,
    val normalizeClipboard: String? = null,
    val clientName: String? = null,
    val serverLayout: String? = null,
    val enableTouch: Boolean? = null,
    val console: Boolean? = null,
    val width: Int? = null,
    val height: Int? = null,
    val dpi: Int? = null,
    val colorDepth: Int? = null,
    val readOnly: Boolean? = null,
    val consoleAudio: Boolean? = null,
    val enableAudioInput: Boolean? = null,
    val enablePrinting: Boolean? = null,
    val enableTheming: Boolean? = null,
    val enableFontSmoothing: Boolean? = null,
    val enableDesktopComposition: Boolean? = null,
    val enableMenuAnimations: Boolean? = null,
    val disableBitmapCaching: Boolean? = null,
    val disableOffscreenCaching: Boolean? = null,
    val disableGlyphCaching: Boolean? = null,
    val remoteApp: String? = null,
    val remoteAppDir: String? = null,
    val remoteAppArgs: String? = null,
    val redirectedPrinterName: String? = null,

    // Kubernetes設定 (新規6フィールド)
    val useSSL: Boolean? = null,
    val namespace: String? = null,
    val pod: String? = null,
    val container: String? = null,
    val caCert: String? = null,
    val clientCert: String? = null,
    val clientKey: String? = null
)

```

### プロトコル別フィールド値

共通フィールド (すべてのプロトコル)

| 名前                   | 型                     | 必須  | 既定値  | 説明                     |
| -------------------- | --------------------- | --- | ---- | ---------------------- |
| protocol             | `String`              | いいえ | null | 接続プロトコルの種類             |
| userRecords          | `MutableList<String>` | いいえ | null | 関連付けられたユーザーレコードのUID    |
| port                 | `String`              | いいえ | null | 接続ポート番号                |
| allowSupplyUser      | `Boolean`             | いいえ | null | ユーザーがユーザー名を指定できるようにします |
| allowSupplyHost      | `Boolean`             | いいえ | null | ユーザーがホスト名を指定できるようにします  |
| recordingIncludeKeys | `Boolean`             | いいえ | null | 記録にキーストロークを含めます        |
| colorScheme          | `String`              | いいえ | null | カラースキームの設定             |
| resizeMethod         | `String`              | いいえ | null | ウィンドウのリサイズ方法           |
| security             | `String`              | いいえ | null | セキュリティレベル              |
| ignoreCert           | `Boolean`             | いいえ | null | 証明書エラーを無視します           |
| disableCopy          | `Boolean`             | いいえ | null | クリップボードのコピーを無効にします     |
| disablePaste         | `Boolean`             | いいえ | null | クリップボードの貼り付けを無効にします    |

### SSH/ターミナルフィールド

| 名前                      | 型        | 必須  | 既定値  | 説明                                  |
| ----------------------- | -------- | --- | ---- | ----------------------------------- |
| **fontName**            | `String` | いいえ | null | **ターミナルのフォント名 (例: `Courier New`)**  |
| **scrollback**          | `Int`    | いいえ | null | **スクロールバックバッファの行数**                 |
| **backspace**           | `String` | いいえ | null | **バックスペースキーの動作 (例: `^H`)**          |
| **terminalType**        | `String` | いいえ | null | **ターミナルのタイプ (例: `xterm-256color`)** |
| **clipboardEncoding**   | `String` | いいえ | null | **クリップボードの文字エンコーディング (例: `UTF-8`)** |
| **locale**              | `String` | いいえ | null | **ロケール設定 (例: `en_US.UTF-8`)**       |
| **serverAliveInterval** | `Int`    | いいえ | null | **キープアライブの間隔 (秒)**                  |
| **timezone**            | `String` | いいえ | null | **タイムゾーン (例: `America/New_York`)**  |
| hostKey                 | `String` | いいえ | null | SSHホストキー                            |
| command                 | `String` | いいえ | null | 接続時に実行するコマンド                        |
| fontSize                | `String` | いいえ | null | ターミナルのフォントサイズ                       |

### VNCフィールド

| 名前                  | 型         | 必須  | 既定値  | 説明                                   |
| ------------------- | --------- | --- | ---- | ------------------------------------ |
| **enableAudio**     | `Boolean` | いいえ | null | **音声ストリーミングを有効にします**                 |
| **audioServername** | `String`  | いいえ | null | **音声サーバーのホスト名**                      |
| **swapRedBlue**     | `Boolean` | いいえ | null | **赤と青のカラーチャンネルを入れ替えます**              |
| **cursor**          | `String`  | いいえ | null | **カーソルの表示モード (例: `remote`、`local`)** |
| **forceLossless**   | `Boolean` | いいえ | null | **可逆圧縮を強制します**                       |
| destHost            | `String`  | いいえ | null | VNCプロキシの宛先ホスト                        |
| destPort            | `String`  | いいえ | null | VNCプロキシの宛先ポート                        |

### RDPフィールド

| 名前                           | 型         | 必須  | 既定値  | 説明                                |
| ---------------------------- | --------- | --- | ---- | --------------------------------- |
| **width**                    | `Int`     | いいえ | null | **画面の幅 (ピクセル)**                   |
| **height**                   | `Int`     | いいえ | null | **画面の高さ (ピクセル)**                  |
| **dpi**                      | `Int`     | いいえ | null | **画面のDPI (dots per inch)**        |
| **colorDepth**               | `Int`     | いいえ | null | **色深度 (ビット) (例: `16`、`24`、`32`)** |
| **initialProgram**           | `String`  | いいえ | null | **接続時に実行するプログラム**                 |
| **remoteApp**                | `String`  | いいえ | null | **RemoteAppのプログラム名**              |
| **remoteAppDir**             | `String`  | いいえ | null | **RemoteAppの作業ディレクトリ**            |
| **remoteAppArgs**            | `String`  | いいえ | null | **RemoteAppのコマンドライン引数**           |
| **clientName**               | `String`  | いいえ | null | **クライアントコンピューター名**                |
| **serverLayout**             | `String`  | いいえ | null | **キーボードレイアウト (例: `en-US`)**       |
| **normalizeClipboard**       | `String`  | いいえ | null | **クリップボード正規化モード**                 |
| **console**                  | `Boolean` | いいえ | null | **コンソールセッションに接続します**              |
| **readOnly**                 | `Boolean` | いいえ | null | **読み取り専用で接続します**                  |
| **consoleAudio**             | `Boolean` | いいえ | null | **コンソール音声を有効にします**                |
| **enableAudioInput**         | `Boolean` | いいえ | null | **音声入力 (マイク) を有効にします**            |
| **enableTouch**              | `Boolean` | いいえ | null | **タッチ入力を有効にします**                  |
| **enablePrinting**           | `Boolean` | いいえ | null | **プリンターのリダイレクトを有効にします**           |
| **enableTheming**            | `Boolean` | いいえ | null | **デスクトップテーマを有効にします**              |
| **enableFontSmoothing**      | `Boolean` | いいえ | null | **フォントスムージングを有効にします**             |
| **enableDesktopComposition** | `Boolean` | いいえ | null | **デスクトップコンポジションを有効にします**          |
| **enableMenuAnimations**     | `Boolean` | いいえ | null | **メニューアニメーションを有効にします**            |
| **disableBitmapCaching**     | `Boolean` | いいえ | null | **ビットマップキャッシュを無効にします**            |
| **disableOffscreenCaching**  | `Boolean` | いいえ | null | **オフスクリーンキャッシュを無効にします**           |
| **disableGlyphCaching**      | `Boolean` | いいえ | null | **グリフキャッシュを無効にします**               |
| **redirectedPrinterName**    | `String`  | いいえ | null | **リダイレクトされたプリンター名**               |
| disableAuth                  | `Boolean` | いいえ | null | 認証を無効にします                         |
| loadBalanceInfo              | `String`  | いいえ | null | ロードバランシング情報                       |
| preconnectionId              | `String`  | いいえ | null | プレコネクションID                        |
| preconnectionBlob            | `String`  | いいえ | null | プレコネクションBlob                      |
| disableAudio                 | `Boolean` | いいえ | null | すべての音声を無効にします                     |

### Kubernetesフィールド

| 名前             | 型         | 必須  | 既定値  | 説明                     |
| -------------- | --------- | --- | ---- | ---------------------- |
| **useSSL**     | `Boolean` | いいえ | null | **SSL/TLS接続を使用します**    |
| **namespace**  | `String`  | いいえ | null | **Kubernetesのネームスペース** |
| **pod**        | `String`  | いいえ | null | **Pod名**               |
| **container**  | `String`  | いいえ | null | **Pod内のコンテナ名**         |
| **caCert**     | `String`  | いいえ | null | **CA証明書 (PEM形式)**      |
| **clientCert** | `String`  | いいえ | null | **クライアント証明書 (PEM形式)**  |
| **clientKey**  | `String`  | いいえ | null | **クライアントの秘密鍵 (PEM形式)** |

### データベースフィールド

| 名前               | 型         | 必須  | 既定値  | 説明               |
| ---------------- | --------- | --- | ---- | ---------------- |
| database         | `String`  | いいえ | null | データベース名          |
| disableCsvExport | `Boolean` | いいえ | null | CSVエクスポートを無効にします |
| disableCsvImport | `Boolean` | いいえ | null | CSVインポートを無効にします  |

{% hint style="info" %}
v17.1.3の新機能

プロトコル別の接続設定をサポートするため、太字で示した**合計43のフィールド**が追加されました。

* **SSH/ターミナル (10項目)**\
  ターミナル表示およびローカライズ設定
* **VNC (7項目)**\
  音声および表示制御
* **RDP (26項目)**\
  表示、音声、アプリケーション、パフォーマンス設定
* **Kubernetes (6項目)**\
  コンテナアクセスおよびTLS構成
  {% endhint %}

{% hint style="warning" %}
プロトコル別フィールドの利用可否

すべての接続タイプで、すべてのフィールドに値が設定されるわけではありません。実際に値が設定されるのは、使用中のプロトコルに関連するフィールドのみです。プロトコル固有のフィールドにアクセスする際は、必ずnullチェックを行ってください。
{% endhint %}

### PamSettingsPortForward

ローカルポートのカスタマイズを含むポートフォワーディング構成です。

```
data class PamSettingsPortForward(
    val reusePort: Boolean? = null,
    val port: String? = null,
    val useSpecifiedLocalPort: Boolean? = null,
    val localPort: String? = null
)
```

### フィールド値

| 名前                        | 型         | 必須  | 既定値  | 説明                               |
| ------------------------- | --------- | --- | ---- | -------------------------------- |
| reusePort                 | `Boolean` | いいえ | null | 複数の接続でポートを再利用します                 |
| port                      | `String`  | いいえ | null | フォワードするリモートポート                   |
| **useSpecifiedLocalPort** | `Boolean` | いいえ | null | **自動割り当てではなく、指定したローカルポートを使用します** |
| **localPort**             | `String`  | いいえ | null | **使用する特定のローカルポート番号**             |

{% hint style="info" %}
v17.1.3の新機能

ポートフォワーディングでローカルポートのカスタマイズをサポートするため、太字で示した**2つのフィールド (useSpecifiedLocalPort、localPort)** が追加されました。
{% endhint %}

### PamSetting

PAM向けの接続設定とポートフォワーディング設定をまとめたコンテナです。

```
data class PamSetting(
    val connection: PamSettingsConnection? = null,
    val portForward: PamSettingsPortForward? = null,
    val allowSupplyHost: Boolean? = null
)
```

### フィールド値

| 名前              | 型                        | 必須  | 既定値  | 説明                    |
| --------------- | ------------------------ | --- | ---- | --------------------- |
| connection      | `PamSettingsConnection`  | いいえ | null | 接続設定                  |
| portForward     | `PamSettingsPortForward` | いいえ | null | ポートフォワーディング構成         |
| allowSupplyHost | `Boolean`                | いいえ | null | ユーザーがホスト名を指定できるようにします |

### PamSettings

PAMリソース向けの、プロトコル別接続設定およびポートフォワーディング構成です。

```
data class PamSettings(
    val label: String? = null,
    var required: Boolean? = null,
    val value: MutableList<PamSetting>
)
```

### フィールド値

| 名前       | 型                         | 必須  | 既定値  | 説明           |
| -------- | ------------------------- | --- | ---- | ------------ |
| label    | `String`                  | いいえ | null | フィールドのラベル    |
| required | `Boolean`                 | いいえ | null | フィールドが必須かどうか |
| value    | `MutableList<PamSetting>` | はい  | —    | PAM設定の一覧     |

### 使用例

```kotlin
PamSettings pamSettings = data.getField(PamSettings.class);
if (pamSettings != null && !pamSettings.getValue().isEmpty()) {
    PamSetting setting = pamSettings.getValue().get(0);

    // 接続設定にアクセス
    if (setting.getConnection() != null) {
        PamSettingsConnection conn = setting.getConnection();
        System.out.println("Protocol: " + conn.getProtocol());
        System.out.println("Port: " + conn.getPort());

        // プロトコル固有のフィールド
        if ("rdp".equals(conn.getProtocol())) {
            System.out.println("Screen: " + conn.getWidth() + "x" + conn.getHeight());
            System.out.println("Color depth: " + conn.getColorDepth());
        } else if ("ssh".equals(conn.getProtocol())) {
            System.out.println("Terminal type: " + conn.getTerminalType());
            System.out.println("Font: " + conn.getFontName());
        }
    }

    // ポートフォワーディング設定にアクセス
    if (setting.getPortForward() != null) {
        PamSettingsPortForward pf = setting.getPortForward();
        System.out.println("Remote port: " + pf.getPort());

        if (Boolean.TRUE.equals(pf.getUseSpecifiedLocalPort())) {
            System.out.println("Local port: " + pf.getLocalPort());
        } else {
            System.out.println("Local port: Auto-assigned");
        }
    }
}

```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.keeper.io/keeperpam/jp/secrets-manager/developer-sdk-library/java-sdk/record-field-classes.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
