

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# CreateSessions
<a name="CreateSessions"></a>

지정된 세부 정보로 새 Amazon DCV 세션을 생성합니다.

**Topics**
+ [

## 요청 파라미터
](#request)
+ [

## 응답 파라미터
](#response)
+ [

## 예제
](#example)

## 요청 파라미터
<a name="request"></a>

**`Name`**  
세션의 이름입니다.  
유형: 문자열  
필수 항목 여부: 예

**`Owner`**  
세션 소유자의 이름입니다. 이는 대상 Amazon DCV 서버의 기존 사용자 이름이어야 합니다.  
유형: 문자열  
필수 항목 여부: 예

**`Type`**  
세션 유형입니다. 세션 유형에 대한 자세한 내용은 *Amazon DCV 관리자 안내서*의 [Amazon DCV 세션 소개](https://docs.aws.amazon.com/dcv/latest/adminguide/managing-sessions.html)를 참조하세요.  
유효한 값: CONSOLE \$1 VIRTUAL  
유형: 문자열  
필수 항목 여부: 예

**`InitFile`**  
Linux Amazon DCV 서버의 가상 세션에서 지원됩니다. Windows 및 Linux Amazon DCV 서버의 콘솔 세션에서는 지원되지 않습니다. 세션을 만들 때 세션을 초기화하기 위해 실행할 Amazon DCV 서버의 사용자 지정 스크립트 경로입니다. 파일 경로는 `agent.init_folder` 에이전트 구성 파라미터에 지정된 init 디렉터리를 기준으로 합니다. 지정된 init 디렉터리에 파일이 있는 경우 파일 이름만 지정하세요. 지정된 init 디렉터리에 파일이 없는 경우 상대 경로를 지정하세요. 자세한 내용은 *Amazon DCV 세션 관리자 관리 안내서*의 [에이전트 구성 파일](https://docs.aws.amazon.com/dcv/latest/sm-admin/agent-file.html)을 참조하세요.  
유형: 문자열  
필수 항목 여부: 아니요

**`MaxConcurrents`**  
동시에 접속할 수 있는 Amazon DCV 클라이언트의 최대 수입니다.  
유형: 정수  
필수 항목 여부: 아니요

**`DcvGlEnabled`**  
가상 세션이 하드웨어 기반 OpenGL을 사용하도록 구성되었는지 여부를 나타냅니다. 가상 세션에서만 지원됩니다. 이 파라미터는 Windows Amazon DCV 서버에서는 지원되지 않습니다.  
유효값: true/false  
유형: 부울  
필수 항목 여부: 아니요

**`PermissionsFile`**  
권한 파일의 Base64로 인코딩된 내용입니다. 생략할 경우 서버 기본값이 기본 설정됩니다. 자세한 내용은 *Amazon DCV 관리자 안내서*의 [Amazon DCV 권한 부여 구성](https://docs.aws.amazon.com/dcv/latest/adminguide/security-authorization.html)을 참조하세요.  
유형: 문자열  
필수 항목 여부: 아니요

**`EnqueueRequest`**  
요청을 즉시 이행할 수 없는 경우 요청을 대기열에 넣을지 여부를 나타냅니다.  
유형: Boolean  
기본값: false  
필수 여부: 아니요

**`AutorunFile`**  
Windows Amazon DCV 서버의 콘솔 세션과 Linux Amazon DCV 서버의 가상 세션에서 지원됩니다. Linux Amazon DCV 서버의 콘솔 세션에서는 지원되지 않습니다.  
세션 내에서 실행될 호스트 서버의 파일 경로입니다. 파일 경로는 `agent.autorun_folder` 에이전트 구성 파라미터에 지정된 autorun 디렉터리를 기준으로 합니다. 지정된 autorun 디렉터리에 파일이 있는 경우 파일 이름만 지정하세요. 지정된 autorun 디렉터리에 파일이 없는 경우 상대 경로를 지정하세요. 자세한 내용은 *Amazon DCV 세션 관리자 관리 안내서*의 [에이전트 구성 파일](https://docs.aws.amazon.com/dcv/latest/sm-admin/agent-file.html)을 참조하세요.  
파일은 지정된 **소유자**를 대신하여 실행됩니다. 지정된 소유자에게는 서버에서 파일을 실행할 수 있는 권한이 있어야 합니다. Windows Amazon DCV 서버에서는 소유자가 세션에 로그인할 때 파일이 실행됩니다. Linux Amazon DCV 서버에서는 세션이 생성될 때 파일이 실행됩니다.  
유형: 문자열  
필수 항목 여부: 아니요

**`AutorunFileArguments`**  
Linux Amazon DCV 서버의 가상 세션에서 지원됩니다. Windows 및 Linux Amazon DCV 서버의 콘솔 세션에서는 지원되지 않습니다. 세션 내에서 실행될 때 **AutoRunFile**에 전달되는 명령줄 인수입니다. 인수는 지정된 배열에 나타나는 순서대로 전달됩니다. 허용되는 최대 인수 개수와 각 인수의 최대 허용 길이를 구성할 수 있습니다. 자세한 내용은 *Amazon DCV 세션 관리자 관리 안내서*의 [브로커 구성 파일](https://docs.aws.amazon.com/dcv/latest/sm-admin/broker-file.html)을 참조하세요.  
유형: 문자열 배열  
필수 여부: 아니요

**`DisableRetryOnFailure`**  
어떤 이유로든 Amazon DCV 호스트에서 세션 생성 요청이 실패한 후 다시 시도하지 않을 것인지 여부를 나타냅니다. 세션 재시도 생성 메커니즘에 대한 자세한 내용은 *Amazon DCV 세션 관리자 관리 안내서*의 [브로커 구성 파일을](https://docs.aws.amazon.com/dcv/latest/sm-admin/broker-file.html) 참조하세요.  
유형: Boolean  
기본값: false  
필수 여부: 아니요

**`Requirements`**  
세션을 배치하기 위해 서버가 충족해야 하는 요구 사항입니다. 요구 사항에는 서버 태그 및 서버 속성이 포함될 수 있으며, 서버 태그와 서버 속성은 모두 **DescribeServers** API를 직접적으로 호출하여 검색됩니다.  
요구 사항 조건 표현식:  
+ *a* **\$1=** *b* - *a*와 *b*가 같지 않은 경우 true
+ *a* **=** *b* - *a*와 *b*가 같은 경우 true
+ *a* **>** *b* - *a*가 *b*보다 큰 경우 true
+ *a* **>=** *b* - *a*가 *b*보다 크거나 같은 경우 true
+ *a* **<** *b* - *a*가 *b*보다 작은 경우 true
+ *a* **<=** *b* - *a*가 *b*보다 작거나 같은 경우 true
+ *a* **=** *b* - *a*에 *b*가 포함된 경우 true
요구 사항 부울 연산자:  
+ *a* **and** *b* - *a*와 *b*가 참인 경우 true
+ *a* **or** *b* - *a* 또는 *b* 가 참인 경우 true
+ **not** *a* - *a*가 거짓인 경우 true
태그 키에는 `tag:` 접두사를 붙이고 서버 속성에는 `server:` 접두사를 붙여야 합니다. 요구 사항 표현식에는 괄호(`()`)가 지원됩니다.  
요구 사항 예제:  
+ `tag:color = 'pink' and (server:Host.Os.Family = 'windows' or tag:color := 'red')`
+ `"server:Host.Aws.Ec2InstanceType := 't2' and server:Host.CpuInfo.NumberOfCpus >= 2"`
지수 표기법을 사용하여 숫자 값을 지정할 수 있습니다(예: `"server:Host.Memory.TotalBytes > 1024E6"`).  
지원되는 서버 속성은 다음과 같습니다.  
+ `Id`
+ `Hostname`
+ `Version`
+ `SessionManagerAgentVersion`
+ `Host.Os.BuildNumber`
+ `Host.Os.Family`
+ `Host.Os.KernelVersion`
+ `Host.Os.Name`
+ `Host.Os.Version`
+ `Host.Memory.TotalBytes`
+ `Host.Memory.UsedBytes`
+ `Host.Swap.TotalBytes`
+ `Host.Swap.UsedBytes`
+ `Host.CpuLoadAverage.OneMinute`
+ `Host.CpuLoadAverage.FiveMinutes`
+ `Host.CpuLoadAverage.FifteenMinutes`
+ `Host.Aws.Ec2InstanceId`
+ `Host.Aws.Ec2InstanceType`
+ `Host.Aws.Region`
+ `Host.Aws.Ec2ImageId`
+ `Host.CpuInfo.Architecture`
+ `Host.CpuInfo.ModelName`
+ `Host.CpuInfo.NumberOfCpus`
+ `Host.CpuInfo.PhysicalCoresPerCpu`
+ `Host.CpuInfo.Vendor`
유형: 문자열  
필수 항목 여부: 아니요

**`StorageRoot`**  
세션 스토리지에 사용되는 폴더 경로를 지정합니다. Amazon DCV 세션 스토리지에 대한 자세한 내용은 *Amazon DCV 관리자 안내서*의 [세션 스토리지 활성화](https://docs.aws.amazon.com/dcv/latest/adminguide/manage-storage.html)를 참조하세요.  
유형: 문자열  
필수 항목 여부: 아니요

## 응답 파라미터
<a name="response"></a>

**`Id`**  
세션의 고유 ID입니다.

**`Name`**  
세션 이름

**`Owner`**  
세션 소유자입니다.

**`Type`**  
세션 유형입니다.

**`State`**  
세션의 상태입니다. 요청이 성공적으로 완료되면 세션이 `CREATING` 상태로 전환됩니다.

**`Substate`**  
세션의 하위 상태입니다. 요청이 성공적으로 완료되면 세션이 `SESSION_PLACING` 하위 상태로 전환됩니다.

## 예제
<a name="example"></a>

------
#### [ Python ]

**요청**  
다음 예제에서는 세 개의 세션을 만듭니다.

```
from swagger_client.models.create_session_request_data import CreateSessionRequestData

def get_sessions_api():
    api_instance = swagger_client.SessionsApi(swagger_client.ApiClient(get_client_configuration()))
    set_request_headers(api_instance.api_client)
    return api_instance

def create_sessions(sessions_to_create):
    create_sessions_request = list()
    for name, owner, session_type, init_file_path, autorun_file, autorun_file_arguments, max_concurrent_clients,\
            dcv_gl_enabled, permissions_file, requirements, storage_root in sessions_to_create:
        a_request = CreateSessionRequestData(
            name=name, owner=owner, type=session_type,
            init_file_path=init_file_path, autorun_file=autorun_file, autorun_file_arguments=autorun_file_arguments, max_concurrent_clients=max_concurrent_clients,
            dcv_gl_enabled=dcv_gl_enabled, permissions_file=permissions_file, requirements=requirements, storage_root=storage_root)
        create_sessions_request.append(a_request)

    api_instance = get_sessions_api()
    print('Create Sessions Request:', create_sessions_request)
    api_response = api_instance.create_sessions(body=create_sessions_request)
    print('Create Sessions Response:', api_response)

def main():
    create_sessions([
    ('session1', 'user1', 'CONSOLE', None, None, None, 1, None, '/dcv/permissions.file', "tag:os = 'windows' and server:Host.Memory.TotalBytes > 1024", "/storage/root"),
    ('session2', 'user1', 'VIRTUAL', None, 'myapp.sh', None, 1, False, None, "tag:os = 'linux'", None),
    ('session3', 'user1', 'VIRTUAL', '/dcv/script.sh', 'myapp.sh', ['argument1', 'argument2'], 1, False, None, "tag:os = 'linux'", None),
])
```

**응답**  
다음은 출력 샘플입니다.

```
{
              "RequestId": "e32d0b83-25f7-41e7-8c8b-e89326ecc87f",
    "SuccessfulList": [
    {
            "Id": "78b45deb-1163-46b1-879b-7d8fcbe9d9d6",
            "Name": "session1",
            "Owner": "user1",
            "Type": "CONSOLE",
            "State": "CREATING"
    },
    {
            "Id": " a0c743c4-9ff7-43ce-b13f-0c4d55a268dd",
            "Name": "session2",
            "Owner": "user1",
            "Type": "VIRTUAL",
            "State": "CREATING"
    },
    {
            "Id": " 10311636-df90-4cd1-bcf7-474e9675b7cd",
            "Name": "session3",
            "Owner": "user1",
            "Type": "VIRTUAL",
            "State": "CREATING"
    }
    ],
    "UnsuccessfulList": [
    ]
}
```

------