작업공간 업데이트
기존 작업공간에 대한 세부사항(예: 작업공간 이름, 변수 또는 소스 제어 URL)을 업데이트합니다. 프로비저닝 또는 수정하려면 IBM Cloud, ibmcloud schematics plan 명령을 참조하세요.
IBM Cloud Schematics 는 이전 버전의 Terraform을 더 이상 지원하지 않고 최신 Terraform 버전에 대한 지원을 도입합니다. 자세한 내용은 Schematics Terraform 지원 중단 수명 주기 및 지원 중단 일정을 참조하세요.
시작하기 전에
Schematics 워크스페이스 또는 작업을 만들거나 업데이트할 때 location 및 url 엔드포인트가 같은 지역을 가리키고 있는지 확인하세요. 위치 및 엔드포인트에 대한 자세한 정보는 정보 저장 위치 를 참조하십시오.
UI를 사용하여 작업공간 업데이트
- IBM Cloud 콘솔에 로그인합니다.
- 메뉴 아이콘
> 플랫폼 자동화 > Schematics > 테라폼을 클릭합니다.
- 편집하려면 작업 공간을 클릭하세요.
- 설정 을 클릭하십시오. 세부 정보 > 저장소 URL 에서 편집 아이콘을 클릭하여 다음 매개변수를 편집합니다.
-
GitHub, GitLab, 또는
Bitbucket저장소 URL<provide your Terraform template Git repository URL. -
개인용 액세스 토큰
<leave it blank>. 템플릿을 안전하게 검증하고 복제하려면, 템플릿 복제 버튼(Open reference picker)을 클릭하여 템플릿 키 참조( Secrets Manager )를 선택하십시오. 자세한 내용은 Secrets Manager 인스턴스 만들기를 참고하세요. -
Terraform 버전
terraform_v1.6. 1.6 이상의 Terraform 버전을 선택해야 합니다. 예를 들어, Terraform 템플릿을 Terraform v1.6 를 사용하여 만든 경우,Terraform version매개변수를 다음과 같이 선택합니다 terraform_v1.6.Terraform_v1.4를 선택하면 Terraform 버전 1.4 를 사용할 수 있고,terraform_v1.6를 선택하면 Terraform 버전 1.6 를 사용할 수 있습니다.terraform_v1.5를 지정하면 사용자는 Terraformv1.5.0,v1.5.1,v1.5.7등의 템플릿을 가질 수 있습니다. Schematics 는Terraform_v1.x를 지원하며,30 to 45 days이후에 HashiCorp Configuration Language(HCL) 릴리스를 사용할 수 있도록 할 계획입니다.Schematics 는
terraform_v1.6를 통해Terraform v1.4의 현재 릴리스를 지원합니다. Terraform 템플릿은 버전 제약 조건(예:>또는>=또는~>)을 사용하여 현재 버전을 자동으로 선택해야 합니다(예:required_version).terraform { required_version = "~> 1.5" } -
저장 을 클릭하십시오.
-
변수 섹션에서. 오버플로 메뉴에서 편집을 클릭하여 변수를 편집합니다.
workspace name의 이름을 입력하세요. 이름은 길이가 최대 128자일 수 있으며 알파벳 문자, 공백, 대시 및 밑줄을 포함할 수 있습니다. -
저장 을 클릭하십시오.
-
작업공간 업데이트 확인
- IBM Cloud 콘솔 에 나열된 작업공간을 클릭하여 작업공간 세부사항의 결과를 보십시오.
- 작업 탭을 클릭하여 작업공간 로그를 확인하십시오.
- 작업 히스토리 탭을 클릭하면 자동화 모듈이 실행한 작업 업데이트 조작의 결과가 표시됩니다.
- 설정 탭을 클릭하여 구성 요약을 보십시오.
CLI를 사용하여 워크스페이스 업데이트하기
-
로컬 워크스테이션에서 JSON 파일을 업데이트하고 워크스페이스 구성을 추가하세요. 작업공간을 업데이트할 때 추가 구성 옵션은
ibmcloud schematics workspace update명령 을 참조하십시오.```json {: codeblock} { "name":"testwspace03jan", "type":[ "terraform_v1.4" ], "description":"terraform workspace", "location":"us-east", "tags":[ "department:HR", "application:compensation", "environment:production" ], "template_repo":{ "url":"https://github.com/Anil-CM/newrepo" }, "workspace_status":{ "frozen":true }, "template_data":[ { "folder":".", "type":"terraform_v1.4", "variablestore":[ { "name":"sample_var", "secure":true, "value":"THIS IS IBM CLOUD TERRAFORM CLI DEMO", "description":"Description of sample_var" }, { "name":"sleepy_time", "value":"15" } ] } ] } ```구문
```sh {: pre} ibmcloud schematics workspace update --id WORKSPACE_ID [--file FILE_NAME] [--github-token GITHUB_TOKEN] [--pull-latest] [--output OUTPUT] ``` -
워크스페이스 이름, 변수 또는 소스 제어와 같은 기존 워크스페이스의 세부 정보를 업데이트합니다 URL.
```sh {: pre} ibmcloud schematics workspace update --id <WORKSPACE_ID> ``` -
워크스페이스가 업데이트되었는지 확인합니다. 워크스페이스가 비활성 상태인지 확인하세요.
```sh {: pre} ibmcloud schematics workspace list ``` -
Terraform을 사용하여 클라우드 리소스를 생성, 업데이트 또는 삭제하려면 Schematics 사용하여 클라우드 리소스 관리 를 참조하세요.
작업공간 업데이트 확인
이전에 작성된 작업공간의 매개변수가 업데이트된 CLI 명령 업데이트를 사용하여 세부사항을 확인하십시오.
```text {: screen}
ibmcloud schematics workspace update --id <WORKSPACE_ID> --target <TARGET_RESOURCE_NAME>
Do you really want to perform this action? [y/N]> y
Activity ID c10fc92ddfd2d9ec645fc5dbece5e341
OK
```
업데이트에 성공하면 기존 작업공간의 업데이트된 세부사항을 리턴합니다.
자세한 정보는 문제점 해결 절 을 참조하십시오.
API를 사용하여 워크스페이스 업데이트하기
-
API를 사용하여 IAM 액세스 토큰을 검색하고 IBM Cloud Schematics을(를) 인증하기 위한 단계를 따르십시오.
-
워크스페이스 이름, 변수 또는 소스 제어와 같은 기존 워크스페이스의 세부 정보 업데이트하기 URL.
예
```json {: codeblock} PUT /v1/workspaces/{w_id} HTTP/1.1 Host: schematics.cloud.ibm.com Content-Type: application/json Authorization: <auth_token> { "name":"testwspace03jan", "type":[ "terraform_v1.4" ], "description":"terraform workspace updated", "location":"us-east", "tags":[ "department:HR", "application:compensation", "environment:production" ], "template_repo":{ "url":"https://github.com/Anil-CM/newrepo" }, "workspace_status":{ "frozen":true }, "template_data":[ { "folder":".", "type":"terraform_v1.4", "variablestore":[ { "name":"sample_var", "secure":true, "value":"THIS IS IBM CLOUD TERRAFORM CLI DEMO", "description":"Description of sample_var" }, { "name":"sleepy_time", "value":"15" } ] } ] } ``` -
작업공간이 성공적으로 업데이트되었는지 확인하십시오.
```sh {: pre} curl -X GET https://schematics.cloud.ibm.com/v1/workspaces -H "Authorization: <iam_access_token>" ``` -
Schematics 를 사용하여 클라우드 리소스 관리하기 를 참조하여 Terraform으로 클라우드 리소스를 생성, 업데이트 또는 삭제하는 방법을 시작하십시오.
작업공간 업데이트 확인
출력에 표시된 대로 작업공간 업데이트가 완료되었는지 확인하십시오.
출력
```text {: screen}
{
"id": "us-east.workspace.testwspace03jan.cf74cc48",
"name": "testwspace03jan",
"crn": "crn:v1:bluemix:public:schematics:us-south:a/1f7277194bb748cdb1d35fd8fb85a7cb:9ae7be42-0d59-415c-a6ce-0b662f520a4d:workspace:us-east.workspace.testwspace03jan.cf74cc48",
"type": [
"terraform_v1.4"
],
"description": "terraform workspace updated successfully",
"resource_group": "Default",
"location": "us-east",
"tags": [
"department:HR",
"application:compensation",
"environment:production"
],
"created_at": "2023-01-03T07:02:38.369965717Z",
"created_by": "test@in.ibm.com",
"status": "DRAFT",
"failure_reason": "",
"workspace_status_msg": {
"status_code": "200",
"status_msg": ""
},
"workspace_status": {
"frozen": true,
"frozen_by": "test@in.ibm.com",
"frozen_at": "2023-01-05T13:44:32.400019282Z",
"locked": false
},
"template_repo": {
"url": "https://github.com/Anil-CM/newrepo",
"commit_id": "3dc60ea7fb30f236dbadfa817cf4beb5d337808d",
"full_url": "https://github.com/Anil-CM/newrepo",
"has_uploadedgitrepotar": false
},
"template_data": [
{
"id": "b44c147b-81fb-4e",
"folder": ".",
"compact": false,
"type": "terraform_v1.4",
"values_url": "https://us.schematics.cloud.ibm.com/v1/workspaces/us-east.workspace.testwspace03jan.cf74cc48/template_data/b44c147b-81fb-4e/values",
"values": "",
"values_metadata": [
{
"default": "testvpcone",
"description": "",
"name": "vpc_name",
"type": "string"
},
{
"default": "[\"tag:test1\", \"tag:test2\"]",
"description": "",
"name": "vpc_tags",
"type": "list(string)"
}
],
"variablestore": [
{
"name": "sample_var",
"secure": true,
"value": "THIS IS IBM CLOUD TERRAFORM CLI DEMO",
"type": "",
"description": "Description of sample_var"
},
{
"name": "sleepy_time",
"secure": false,
"value": "15",
"type": "",
"description": ""
}
],
"has_githubtoken": false
}
],
"runtime_data": [
{
"id": "b44c147b-81fb-4e",
"engine_name": "terraform",
"engine_version": "v1.0.11",
"state_store_url": "https://us.schematics.cloud.ibm.com/v1/workspaces/us-east.workspace.testwspace03jan.cf74cc48/runtime_data/b44c147b-81fb-4e/state_store",
"log_store_url": "https://us.schematics.cloud.ibm.com/v1/workspaces/us-east.workspace.testwspace03jan.cf74cc48/runtime_data/b44c147b-81fb-4e/log_store"
}
],
"shared_data": {
"resource_group_id": ""
},
"applied_shareddata_ids": null,
"updated_by": "test@in.ibm.com",
"updated_at": "2023-01-05T13:44:32.483034358Z",
"last_health_check_at": "0001-01-01T00:00:00Z",
"cart_id": "",
"last_action_name": "WORKSPACE_UPDATE",
"last_activity_id": "fe1591c02c66167b41fefac1ab5445cb",
"last_job": {
"job_id": "fe1591c02c66167b41fefac1ab5445cb",
"job_name": "WORKSPACE_UPDATE",
"job_status": ""
}
}
```
작업 공간 업데이트가 성공적으로 완료되면, 업데이트된 구성에 대한 세부 정보(작업 공간 이름, 변수, 작업 공간의 소스 제어 URL 등)가 반환됩니다.
자세한 정보는 문제점 해결 절 을 참조하십시오.
Terraform을 사용하여 작업공간 업데이트
-
Terraform을 사용하여 작업공간을 작성하려면 Schematics용 Terraform 설정의 단계를 따르십시오.
-
Schematics 를 사용하여 클라우드 리소스를 관리 하여 Terraform으로 클라우드 리소스를 생성, 업데이트 또는 삭제하는 방법을 확인해 보세요.
다음 단계
워크스페이스 작업의 다음 단계는 워크스페이스 배포 입니다.