1// Copyright 2016-2020 The Libsacloud Authors
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//      http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15package sacloud
16
17// propRegion リージョン内包型
18type propRegion struct {
19	Region *Region `json:",omitempty"` // リージョン
20}
21
22// GetRegion リージョン 取得
23func (p *propRegion) GetRegion() *Region {
24	return p.Region
25}
26
27// GetRegionID リージョンID 取得
28func (p *propRegion) GetRegionID() ID {
29	if p.Region == nil {
30		return -1
31	}
32	return p.Region.GetID()
33}
34
35// GetRegionName リージョン名 取得
36func (p *propRegion) GetRegionName() string {
37	if p.Region == nil {
38		return ""
39	}
40	return p.Region.GetName()
41}
42
43// GetRegionDescription リージョン説明 取得
44func (p *propRegion) GetRegionDescription() string {
45	if p.Region == nil {
46		return ""
47	}
48	return p.Region.GetDescription()
49}
50
51// GetRegionNameServers リージョンのネームサーバー(のIPアドレス)取得
52func (p *propRegion) GetRegionNameServers() []string {
53	if p.Region == nil {
54		return []string{}
55	}
56
57	return p.Region.GetNameServers()
58}
59