환경은 에이전트 코드, 도구, 서비스를 안전하게 실행하기 위한 격리된 실행 컨텍스트를 제공합니다.
CreateEnvironment
환경을 만듭니다.
요청 본문
요청 본문에는 다음과 같은 구조의 데이터가 포함됩니다.
network EnvironmentNetworkEgressAllowlist 또는 enum (문자열) (선택사항)
환경의 네트워크 구성입니다.
가능한 유형
object
샌드박스의 아웃바운드 네트워킹 구성입니다. 지정된 경우 샌드박스가 연결할 수 있는 외부 도메인을 제한합니다. 헤더 삽입 없이 모든 아웃바운드 트래픽을 허용하려면 완전히 생략하세요.
허용 목록 배열 (AllowlistEntry) (선택사항)
허용된 아웃바운드 도메인 목록입니다. 목록에 있는 도메인에 대한 요청만 허용됩니다. [{'domain': '*'}] 를 사용하여 특정 도메인에 헤더를 삽입하면서 모든 도메인을 허용합니다.
필드
아웃바운드 요청을 허용할 도메인입니다. 와일드 카드 (예: '*.googleapis.com')를 지원합니다. 모든 도메인을 허용하려면 '*'를 사용하세요.
이 도메인과 일치하는 모든 아웃바운드 요청에 삽입할 헤더입니다. 단일 사전 또는 사전 목록을 허용합니다. 이그레스 프록시는 이를 자동으로 삽입합니다.
string
모든 네트워크를 사용 중지합니다.
가능한 값
-
disabled모든 네트워크를 사용 중지합니다.
sources array (Source) (선택사항)
환경에 마운트할 소스입니다.
필드
`type` 이 `INLINE`인 경우 인라인 콘텐츠입니다.
인라인 콘텐츠의 선택적 인코딩입니다 (예: `base64`).
환경의 소스입니다. Cloud Storage의 경우 Cloud Storage 경로입니다. GitHub의 경우 GitHub 경로입니다.
환경에 소스가 표시되어야 하는 위치입니다.
제공된 설명이 없습니다.
가능한 값은 다음과 같습니다.
-
gcsCloud Storage 버킷
-
inline인라인 콘텐츠
-
repository일반 저장소입니다. 소스 URL의 프로토콜 접두사는 제공업체를 식별합니다 (예: github://, gcs://).
응답
성공한 경우 응답 본문은 다음과 같은 구조의 데이터를 포함합니다.
출력 전용입니다. 환경이 생성된 시간입니다(ISO 8601 형식(YYYY-MM-DDThh:mm:ssZ)).
출력 전용입니다. 환경의 파일 수입니다(출력 전용).
필수 항목입니다. 출력 전용입니다. 환경의 ID입니다.
출력 전용입니다. 환경에 마지막으로 액세스한 시간입니다(ISO 8601 형식(YYYY-MM-DDThh:mm:ssZ)).
network EnvironmentNetworkEgressAllowlist 또는 enum (문자열) (선택사항)
환경의 네트워크 구성입니다.
가능한 유형
object
샌드박스의 아웃바운드 네트워킹 구성입니다. 지정된 경우 샌드박스가 연결할 수 있는 외부 도메인을 제한합니다. 헤더 삽입 없이 모든 아웃바운드 트래픽을 허용하려면 완전히 생략하세요.
허용 목록 배열 (AllowlistEntry) (선택사항)
허용된 아웃바운드 도메인 목록입니다. 목록에 있는 도메인에 대한 요청만 허용됩니다. [{'domain': '*'}] 를 사용하여 특정 도메인에 헤더를 삽입하면서 모든 도메인을 허용합니다.
필드
아웃바운드 요청을 허용할 도메인입니다. 와일드 카드 (예: '*.googleapis.com')를 지원합니다. 모든 도메인을 허용하려면 '*'를 사용하세요.
이 도메인과 일치하는 모든 아웃바운드 요청에 삽입할 헤더입니다. 단일 사전 또는 사전 목록을 허용합니다. 이그레스 프록시는 이를 자동으로 삽입합니다.
string
모든 네트워크를 사용 중지합니다.
가능한 값
-
disabled모든 네트워크를 사용 중지합니다.
출력 전용입니다. 환경 파일의 총 크기(바이트)입니다(출력 전용).
sources array (Source) (선택사항)
환경에 마운트할 소스입니다.
필드
`type` 이 `INLINE`인 경우 인라인 콘텐츠입니다.
인라인 콘텐츠의 선택적 인코딩입니다 (예: `base64`).
환경의 소스입니다. Cloud Storage의 경우 Cloud Storage 경로입니다. GitHub의 경우 GitHub 경로입니다.
환경에 소스가 표시되어야 하는 위치입니다.
제공된 설명이 없습니다.
가능한 값은 다음과 같습니다.
-
gcsCloud Storage 버킷
-
inline인라인 콘텐츠
-
repository일반 저장소입니다. 소스 URL의 프로토콜 접두사는 제공업체를 식별합니다 (예: github://, gcs://).
출력 전용입니다. 환경 컨테이너의 상태입니다.
가능한 값은 다음과 같습니다.
-
active출력 전용입니다. 환경 컨테이너의 상태입니다.
-
expired출력 전용입니다. 환경 컨테이너의 상태입니다.
출력 전용입니다. 환경이 마지막으로 업데이트된 시간입니다(ISO 8601 형식(YYYY-MM-DDThh:mm:ssZ)).
환경 만들기
응답 예시
{ "created": "2026-08-19T00:00:00Z", "id": "env_abc123", "last_accessed": "2026-08-19T00:00:00Z", "sources": [ { "type": "inline", "content": "print('Hello, World!')", "target": "main.py" } ], "status": "active", "updated": "2026-08-19T00:00:00Z" }
ListEnvironments
환경을 나열합니다.
경로 / 쿼리 매개변수
선택사항입니다. 반환할 환경의 최대 개수입니다.\n지정하지 않으면 기본값은 50입니다. 최댓값은 1,000입니다.
선택사항입니다. 페이지로 나누기 토큰입니다.
응답
성공한 경우 응답 본문은 다음과 같은 구조의 데이터를 포함합니다.
제공된 프로젝트에 속한 환경입니다.
페이지로 나누기 토큰입니다.
환경 나열
응답 예시
{ "environments": [ { "created": "2026-08-19T00:00:00Z", "id": "env_abc123", "last_accessed": "2026-08-19T00:00:00Z", "status": "active", "updated": "2026-08-19T00:00:00Z" } ] }
GetEnvironmentFiles
환경 스냅샷에서 파일 메타데이터 또는 디렉터리 콘텐츠를 가져옵니다. 파일 콘텐츠를 직접 다운로드하려면 ?alt=media를 전달하거나 files.download 도우미를 사용하세요.
경로 / 쿼리 매개변수
선택사항입니다. 페이지당 반환할 최대 항목 수입니다 (디렉터리 목록의 경우).
선택사항입니다. 디렉터리 목록의 페이지로 나누기 토큰입니다.
선택사항입니다. true이고 경로가 디렉터리인 경우 모든 파일을 재귀적으로 나열합니다.
응답
성공한 경우 응답 본문은 다음과 같은 구조의 데이터를 포함합니다.
files array (EnvironmentFile) (선택사항)
요청된 경로가 디렉터리인 경우 여기에 콘텐츠가 포함됩니다. 요청된 경로가 파일인 경우 파일의 메타데이터가 포함된 단일 항목이 포함됩니다. alt=media가 지정된 경우 비어 있습니다 (콘텐츠는 `blob`을 통해 제공됨).
필드
출력 전용입니다. 파일/디렉터리의 생성 시간입니다.
출력 전용입니다. 파일의 MIME 유형입니다 (예: 'text/python', 'image/png'). 디렉터리의 경우 비어 있습니다. NOLINT
출력 전용입니다. 파일/디렉터리의 수정 시간입니다.
출력 전용입니다. 파일 또는 디렉터리의 이름입니다 (예: 'main.py' 또는 'src').
출력 전용입니다. 환경 내의 전체 상대 경로입니다(예: 'workspace/src/main.py').
출력 전용입니다. 파일/디렉터리의 크기(바이트)입니다. NOLINT
출력 전용입니다. 항목의 유형입니다.
가능한 값은 다음과 같습니다.
-
file일반 파일입니다.
-
directory디렉터리
디렉터리 목록의 페이지로 나누기 토큰입니다. NOLINT
환경의 파일 나열
응답 예시
{ "files": [ { "name": "src", "type": "directory", "created": "2026-08-19T00:00:00Z", "modified": "2026-08-19T00:00:00Z", "path": "src" }, { "name": "main.py", "type": "file", "created": "2026-08-19T00:00:00Z", "mime_type": "text/x-python", "modified": "2026-08-19T00:00:00Z", "path": "main.py", "size_bytes": "22" } ] }
파일 메타데이터 가져오기
응답 예시
{ "files": [ { "name": "main.py", "type": "file", "created": "2026-08-19T00:00:00Z", "mime_type": "text/x-python", "modified": "2026-08-19T00:00:00Z", "path": "main.py", "size_bytes": "22" } ] }
파일 콘텐츠 다운로드
응답 예시
{ "files": [ { "name": "main.py", "type": "file", "mime_type": "text/x-python", "path": "main.py", "size_bytes": "22" } ] }
GetEnvironment
환경을 가져옵니다.
응답
성공한 경우 응답 본문은 다음과 같은 구조의 데이터를 포함합니다.
출력 전용입니다. 환경이 생성된 시간입니다(ISO 8601 형식(YYYY-MM-DDThh:mm:ssZ)).
출력 전용입니다. 환경의 파일 수입니다(출력 전용).
필수 항목입니다. 출력 전용입니다. 환경의 ID입니다.
출력 전용입니다. 환경에 마지막으로 액세스한 시간입니다(ISO 8601 형식(YYYY-MM-DDThh:mm:ssZ)).
network EnvironmentNetworkEgressAllowlist 또는 enum (문자열) (선택사항)
환경의 네트워크 구성입니다.
가능한 유형
object
샌드박스의 아웃바운드 네트워킹 구성입니다. 지정된 경우 샌드박스가 연결할 수 있는 외부 도메인을 제한합니다. 헤더 삽입 없이 모든 아웃바운드 트래픽을 허용하려면 완전히 생략하세요.
허용 목록 배열 (AllowlistEntry) (선택사항)
허용된 아웃바운드 도메인 목록입니다. 목록에 있는 도메인에 대한 요청만 허용됩니다. [{'domain': '*'}] 를 사용하여 특정 도메인에 헤더를 삽입하면서 모든 도메인을 허용합니다.
필드
아웃바운드 요청을 허용할 도메인입니다. 와일드 카드 (예: '*.googleapis.com')를 지원합니다. 모든 도메인을 허용하려면 '*'를 사용하세요.
이 도메인과 일치하는 모든 아웃바운드 요청에 삽입할 헤더입니다. 단일 사전 또는 사전 목록을 허용합니다. 이그레스 프록시는 이를 자동으로 삽입합니다.
string
모든 네트워크를 사용 중지합니다.
가능한 값
-
disabled모든 네트워크를 사용 중지합니다.
출력 전용입니다. 환경 파일의 총 크기(바이트)입니다(출력 전용).
sources array (Source) (선택사항)
환경에 마운트할 소스입니다.
필드
`type` 이 `INLINE`인 경우 인라인 콘텐츠입니다.
인라인 콘텐츠의 선택적 인코딩입니다 (예: `base64`).
환경의 소스입니다. Cloud Storage의 경우 Cloud Storage 경로입니다. GitHub의 경우 GitHub 경로입니다.
환경에 소스가 표시되어야 하는 위치입니다.
제공된 설명이 없습니다.
가능한 값은 다음과 같습니다.
-
gcsCloud Storage 버킷
-
inline인라인 콘텐츠
-
repository일반 저장소입니다. 소스 URL의 프로토콜 접두사는 제공업체를 식별합니다 (예: github://, gcs://).
출력 전용입니다. 환경 컨테이너의 상태입니다.
가능한 값은 다음과 같습니다.
-
active출력 전용입니다. 환경 컨테이너의 상태입니다.
-
expired출력 전용입니다. 환경 컨테이너의 상태입니다.
출력 전용입니다. 환경이 마지막으로 업데이트된 시간입니다(ISO 8601 형식(YYYY-MM-DDThh:mm:ssZ)).
환경 가져오기
응답 예시
{ "created": "2026-08-19T00:00:00Z", "id": "env_abc123", "last_accessed": "2026-08-19T00:00:00Z", "sources": [ { "type": "inline", "content": "print('Hello, World!')", "target": "main.py" } ], "status": "active", "updated": "2026-08-19T00:00:00Z" }
DeleteEnvironment
환경을 삭제합니다.
응답
성공한 경우 응답은 비어 있습니다.
환경 삭제
리소스
환경
에이전트의 실행 환경입니다.
필드
출력 전용입니다. 환경이 생성된 시간입니다(ISO 8601 형식(YYYY-MM-DDThh:mm:ssZ)).
출력 전용입니다. 환경의 파일 수입니다(출력 전용).
필수 항목입니다. 출력 전용입니다. 환경의 ID입니다.
출력 전용입니다. 환경에 마지막으로 액세스한 시간입니다(ISO 8601 형식(YYYY-MM-DDThh:mm:ssZ)).
network EnvironmentNetworkEgressAllowlist 또는 enum (문자열) (선택사항)
환경의 네트워크 구성입니다.
가능한 유형
object
샌드박스의 아웃바운드 네트워킹 구성입니다. 지정된 경우 샌드박스가 연결할 수 있는 외부 도메인을 제한합니다. 헤더 삽입 없이 모든 아웃바운드 트래픽을 허용하려면 완전히 생략하세요.
허용 목록 배열 (AllowlistEntry) (선택사항)
허용된 아웃바운드 도메인 목록입니다. 목록에 있는 도메인에 대한 요청만 허용됩니다. [{'domain': '*'}] 를 사용하여 특정 도메인에 헤더를 삽입하면서 모든 도메인을 허용합니다.
필드
아웃바운드 요청을 허용할 도메인입니다. 와일드 카드 (예: '*.googleapis.com')를 지원합니다. 모든 도메인을 허용하려면 '*'를 사용하세요.
이 도메인과 일치하는 모든 아웃바운드 요청에 삽입할 헤더입니다. 단일 사전 또는 사전 목록을 허용합니다. 이그레스 프록시는 이를 자동으로 삽입합니다.
string
모든 네트워크를 사용 중지합니다.
가능한 값
-
disabled모든 네트워크를 사용 중지합니다.
출력 전용입니다. 환경 파일의 총 크기(바이트)입니다(출력 전용).
sources array (Source) (선택사항)
환경에 마운트할 소스입니다.
필드
`type` 이 `INLINE`인 경우 인라인 콘텐츠입니다.
인라인 콘텐츠의 선택적 인코딩입니다 (예: `base64`).
환경의 소스입니다. Cloud Storage의 경우 Cloud Storage 경로입니다. GitHub의 경우 GitHub 경로입니다.
환경에 소스가 표시되어야 하는 위치입니다.
제공된 설명이 없습니다.
가능한 값은 다음과 같습니다.
-
gcsCloud Storage 버킷
-
inline인라인 콘텐츠
-
repository일반 저장소입니다. 소스 URL의 프로토콜 접두사는 제공업체를 식별합니다 (예: github://, gcs://).
출력 전용입니다. 환경 컨테이너의 상태입니다.
가능한 값은 다음과 같습니다.
-
active출력 전용입니다. 환경 컨테이너의 상태입니다.
-
expired출력 전용입니다. 환경 컨테이너의 상태입니다.
출력 전용입니다. 환경이 마지막으로 업데이트된 시간입니다(ISO 8601 형식(YYYY-MM-DDThh:mm:ssZ)).