시작하기
일반적으로 SoftLayer API를 호출하기 위해서는 인증을 위한 API Key 가 있어야 합니다.
하지만 유일한 예외가 있습니다. 그것은 인스턴스 자기 자신의 메타 데이터 정보 를 호출 할 때입니다.
SoftLayer_Resource_Metadata 라는 Service는 어디에서 호출되었는지 만 중요하고, 사전에 API Key를 얻는 필요는 없습니다.
만약 slcli 명령을 사용하더라도 API Key없이 사용할 수 있습니다.
http://sldn.softlayer.com/reference/services/SoftLayer_Resource_Metadata
사용 조건
사용 조건은 다음과 같습니다.
- 실제로 SoftLayer에서 실행되는 서버에서 실행
- Private 통해 API 액세스 할 수 있는 서버에서 실행 (Public을 통해서는 동작하지 않습니다.)
예를 들어 관리 콘솔 등의 권한이 없어도 자신의 서버가 어떤 데이터 센터에서 움직이고 있는지 알 수 있습니다.
사용 방법(curl)
기본적으로 json 포맷으로 반환됩니다. (값만 반환)
하지만 .xml 확장자를 주면 xml 형식으로 반환됩니다.
또는 .json 처럼 명시적으로 .json을 붙여도 됩니다.
즉, getID인경우 getID.json 또는 getID.xml 로 쓸수도 있습니다.
DeviceID (Baremetal이라면 HardwareId VM라면 VirtualGuestId)
# curl -s https://api.service.softlayer.com/rest/v3.1/SoftLayer_Resource_Metadata/getId
호스트 이름, 도메인 이름, FQDN
# curl -s https://api.service.softlayer.com/rest/v3.1/SoftLayer_Resource_Metadata/getHostname # curl -s https://api.service.softlayer.com/rest/v3.1/SoftLayer_Resource_Metadata/getDomain # curl -s https://api.service.softlayer.com/rest/v3.1/SoftLayer_Resource_Metadata/getFullyQualifiedDomainName
Public/Private PrimaryIPAddress
# curl -s https://api.service.softlayer.com/rest/v3.1/SoftLayer_Resource_Metadata/getPrimaryIpAddress # curl -s https://api.service.softlayer.com/rest/v3.1/SoftLayer_Resource_Metadata/getPrimaryBackendIpAddress
Public/Private MACAddress
# curl -s https://api.service.softlayer.com/rest/v3.1/SoftLayer_Resource_Metadata/getFrontendMacAddresses # curl -s https://api.service.softlayer.com/rest/v3.1/SoftLayer_Resource_Metadata/getBackendMacAddresses
라우터 정보 (상기 방법으로 얻은 MAC 주소를 파라미터로 끝에 넣어 주어야 합니다)
# curl -s https://api.service.softlayer.com/rest/v3.1/SoftLayer_Resource_Metadata/getRouter/06:5c:99:52:1a:60
VLAN 정보 (상기 방법으로 얻은 MAC 주소를 파라미터로 끝에 넣어 주어야 합니다)
# curl -s https://api.service.softlayer.com/rest/v3.1/SoftLayer_Resource_Metadata/getVlanIds/06:5c:99:52:1a:60 # curl -s https://api.service.softlayer.com/rest/v3.1/SoftLayer_Resource_Metadata/getVlans/06:5c:99:52:1a:60
데이터 센터 정보
# curl -s https://api.service.softlayer.com/rest/v3.1/SoftLayer_Resource_Metadata/getDatacenterId # curl -s https://api.service.softlayer.com/rest/v3.1/SoftLayer_Resource_Metadata/getDatacenter
프로비저닝 상태
# curl -s https://api.service.softlayer.com/rest/v3.1/SoftLayer_Resource_Metadata/getProvisionState
태그 정보
# curl -s https://api.service.softlayer.com/rest/v3.1/SoftLayer_Resource_Metadata/getTags
UserData 정보
# curl -s https://api.service.softlayer.com/rest/v3.1/SoftLayer_Resource_Metadata/getUserMetadata
서비스 자원 정보
# curl -s https://api.service.softlayer.com/rest/v3.1/SoftLayer_Resource_Metadata/getServiceResources
사용 방법 - slcli 사용
다시말하지만, slcli 명령을 사용하여도 metadata 정보의 취득에 관해서는 사전에 API Key의 설치는 필요하지 않습니다.
명령 예시
# slcli metadata -h Usage: slcli metadata [OPTIONS] PROP Find details about this machine PROP Choices *backend_ip *backend_mac *datacenter *datacenter_id *fqdn *frontend_mac *id *ip *network *provision_state *tags *user_data Examples : slcli metadata backend_ip slcli metadata backend_mac slcli metadata datacenter slcli metadata datacenter_id slcli metadata fqdn slcli metadata frontend_mac slcli metadata id slcli metadata ip slcli metadata network slcli metadata provision_state slcli metadata tags slcli metadata user_data Options: -h, --help Show this message and exit. These commands only work on devices on the backend SoftLayer network. This allows for self-discovery for newly provisioned resources.
network 정보 확인
# slcli metadata network :...............:...................: : name : value : :...............:...................: : mac addresses : 06:90:31:e4:0c:90 : : router : fcr01.sng01 : : vlans : xxxx : : vlan ids : xxxxxx : :...............:...................: :...............:...................: : name : value : :...............:...................: : mac addresses : 06:18:10:e0:91:17 : : router : bcr01.sng01 : : vlans : xxxx : : vlan ids : xxxxxx : :...............:...................:
https://softlayer.github.io/reference/services/SoftLayer_Resource_Metadata/ 참고
getBackendMacAddresses A list of backend MAC addresses getDatacenter The name for the datacenter which the resource is in getDatacenterId The id for the datacenter which the resource is in getDomain A resource's domain getFrontendMacAddresses A list of frontend MAC addresses getFullyQualifiedDomainName A resource's fully qualified domain name getGlobalIdentifier A resource's globalIdentifier getHostname A resource's hostname getId A resource's id getPrimaryBackendIpAddress The primary backend IP address for the resource getPrimaryIpAddress The primary IP address for the resource getProvisionState Obtain the provision state for a resource getRouter The router associated with a network component getServiceResource Obtain a specific service resource associated with the resource getServiceResources Obtain service resources associated with the resource getTags Obtain tags associated with the resource getUserMetadata Obtain user data associated with the resource getVlanIds A list of VLAN ids for a network component getVlans A list of VLAN numbers for a network component
|
'Cloud > Softlayer' 카테고리의 다른 글
ICOS를 Linux file system에 마운트 해보기 (0) | 2018.05.25 |
---|---|
Softlayer BIOS Performance Setting (0) | 2018.05.15 |
INTEL CPU 버그 : Cloud 벤더들 일제히 패치 실시 예정 (0) | 2018.01.03 |
IBM Cloud 파일 스토리지 생성 후 연결 하기 (0) | 2017.11.17 |
IBM Bluemix Load Balancer (0) | 2017.10.16 |