Skip to content

Commit 5fcebfe

Browse files
committed
Support API MigrateResourceInstance.
1 parent 4f27807 commit 5fcebfe

File tree

5 files changed

+288
-2
lines changed

5 files changed

+288
-2
lines changed

eas-20210701/ChangeLog.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
2025-11-28 Version: 6.10.0
2+
- Support API MigrateResourceInstance.
3+
- Update API DescribeMachineSpec: add request parameters ChargeType.
4+
- Update API DescribeMachineSpec: add request parameters ResourceType.
5+
6+
17
2025-11-06 Version: 6.9.0
28
- Support API CreateFaultInjection.
39
- Support API DeleteFaultInjection.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = '6.9.0'
1+
__version__ = '6.10.0'

eas-20210701/alibabacloud_eas20210701/client.py

Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4684,8 +4684,12 @@ def describe_machine_spec_with_options(
46844684
if not UtilClient.is_unset(tmp_req.instance_types):
46854685
request.instance_types_shrink = OpenApiUtilClient.array_to_string_with_specified_style(tmp_req.instance_types, 'InstanceTypes', 'simple')
46864686
query = {}
4687+
if not UtilClient.is_unset(request.charge_type):
4688+
query['ChargeType'] = request.charge_type
46874689
if not UtilClient.is_unset(request.instance_types_shrink):
46884690
query['InstanceTypes'] = request.instance_types_shrink
4691+
if not UtilClient.is_unset(request.resource_type):
4692+
query['ResourceType'] = request.resource_type
46894693
req = open_api_models.OpenApiRequest(
46904694
headers=headers,
46914695
query=OpenApiUtilClient.query(query)
@@ -4726,8 +4730,12 @@ async def describe_machine_spec_with_options_async(
47264730
if not UtilClient.is_unset(tmp_req.instance_types):
47274731
request.instance_types_shrink = OpenApiUtilClient.array_to_string_with_specified_style(tmp_req.instance_types, 'InstanceTypes', 'simple')
47284732
query = {}
4733+
if not UtilClient.is_unset(request.charge_type):
4734+
query['ChargeType'] = request.charge_type
47294735
if not UtilClient.is_unset(request.instance_types_shrink):
47304736
query['InstanceTypes'] = request.instance_types_shrink
4737+
if not UtilClient.is_unset(request.resource_type):
4738+
query['ResourceType'] = request.resource_type
47314739
req = open_api_models.OpenApiRequest(
47324740
headers=headers,
47334741
query=OpenApiUtilClient.query(query)
@@ -9008,6 +9016,126 @@ async def list_virtual_resource_async(
90089016
headers = {}
90099017
return await self.list_virtual_resource_with_options_async(request, headers, runtime)
90109018

9019+
def migrate_resource_instance_with_options(
9020+
self,
9021+
cluster_id: str,
9022+
resource_id: str,
9023+
request: eas_20210701_models.MigrateResourceInstanceRequest,
9024+
headers: Dict[str, str],
9025+
runtime: util_models.RuntimeOptions,
9026+
) -> eas_20210701_models.MigrateResourceInstanceResponse:
9027+
"""
9028+
@summary Migrates resource group instances.
9029+
9030+
@param request: MigrateResourceInstanceRequest
9031+
@param headers: map
9032+
@param runtime: runtime options for this request RuntimeOptions
9033+
@return: MigrateResourceInstanceResponse
9034+
"""
9035+
UtilClient.validate_model(request)
9036+
body = {}
9037+
if not UtilClient.is_unset(request.dest_resource_id):
9038+
body['DestResourceId'] = request.dest_resource_id
9039+
if not UtilClient.is_unset(request.instance_ids):
9040+
body['InstanceIds'] = request.instance_ids
9041+
if not UtilClient.is_unset(request.migrate_to_hybrid):
9042+
body['MigrateToHybrid'] = request.migrate_to_hybrid
9043+
req = open_api_models.OpenApiRequest(
9044+
headers=headers,
9045+
body=OpenApiUtilClient.parse_to_map(body)
9046+
)
9047+
params = open_api_models.Params(
9048+
action='MigrateResourceInstance',
9049+
version='2021-07-01',
9050+
protocol='HTTPS',
9051+
pathname=f'/api/v2/resources/{OpenApiUtilClient.get_encode_param(cluster_id)}/{OpenApiUtilClient.get_encode_param(resource_id)}/instances/migrate',
9052+
method='POST',
9053+
auth_type='AK',
9054+
style='ROA',
9055+
req_body_type='json',
9056+
body_type='json'
9057+
)
9058+
return TeaCore.from_map(
9059+
eas_20210701_models.MigrateResourceInstanceResponse(),
9060+
self.call_api(params, req, runtime)
9061+
)
9062+
9063+
async def migrate_resource_instance_with_options_async(
9064+
self,
9065+
cluster_id: str,
9066+
resource_id: str,
9067+
request: eas_20210701_models.MigrateResourceInstanceRequest,
9068+
headers: Dict[str, str],
9069+
runtime: util_models.RuntimeOptions,
9070+
) -> eas_20210701_models.MigrateResourceInstanceResponse:
9071+
"""
9072+
@summary Migrates resource group instances.
9073+
9074+
@param request: MigrateResourceInstanceRequest
9075+
@param headers: map
9076+
@param runtime: runtime options for this request RuntimeOptions
9077+
@return: MigrateResourceInstanceResponse
9078+
"""
9079+
UtilClient.validate_model(request)
9080+
body = {}
9081+
if not UtilClient.is_unset(request.dest_resource_id):
9082+
body['DestResourceId'] = request.dest_resource_id
9083+
if not UtilClient.is_unset(request.instance_ids):
9084+
body['InstanceIds'] = request.instance_ids
9085+
if not UtilClient.is_unset(request.migrate_to_hybrid):
9086+
body['MigrateToHybrid'] = request.migrate_to_hybrid
9087+
req = open_api_models.OpenApiRequest(
9088+
headers=headers,
9089+
body=OpenApiUtilClient.parse_to_map(body)
9090+
)
9091+
params = open_api_models.Params(
9092+
action='MigrateResourceInstance',
9093+
version='2021-07-01',
9094+
protocol='HTTPS',
9095+
pathname=f'/api/v2/resources/{OpenApiUtilClient.get_encode_param(cluster_id)}/{OpenApiUtilClient.get_encode_param(resource_id)}/instances/migrate',
9096+
method='POST',
9097+
auth_type='AK',
9098+
style='ROA',
9099+
req_body_type='json',
9100+
body_type='json'
9101+
)
9102+
return TeaCore.from_map(
9103+
eas_20210701_models.MigrateResourceInstanceResponse(),
9104+
await self.call_api_async(params, req, runtime)
9105+
)
9106+
9107+
def migrate_resource_instance(
9108+
self,
9109+
cluster_id: str,
9110+
resource_id: str,
9111+
request: eas_20210701_models.MigrateResourceInstanceRequest,
9112+
) -> eas_20210701_models.MigrateResourceInstanceResponse:
9113+
"""
9114+
@summary Migrates resource group instances.
9115+
9116+
@param request: MigrateResourceInstanceRequest
9117+
@return: MigrateResourceInstanceResponse
9118+
"""
9119+
runtime = util_models.RuntimeOptions()
9120+
headers = {}
9121+
return self.migrate_resource_instance_with_options(cluster_id, resource_id, request, headers, runtime)
9122+
9123+
async def migrate_resource_instance_async(
9124+
self,
9125+
cluster_id: str,
9126+
resource_id: str,
9127+
request: eas_20210701_models.MigrateResourceInstanceRequest,
9128+
) -> eas_20210701_models.MigrateResourceInstanceResponse:
9129+
"""
9130+
@summary Migrates resource group instances.
9131+
9132+
@param request: MigrateResourceInstanceRequest
9133+
@return: MigrateResourceInstanceResponse
9134+
"""
9135+
runtime = util_models.RuntimeOptions()
9136+
headers = {}
9137+
return await self.migrate_resource_instance_with_options_async(cluster_id, resource_id, request, headers, runtime)
9138+
90119139
def reinstall_tenant_addon_with_options(
90129140
self,
90139141
cluster_id: str,

eas-20210701/alibabacloud_eas20210701/models.py

Lines changed: 152 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7186,10 +7186,14 @@ def from_map(self, m: dict = None):
71867186
class DescribeMachineSpecRequest(TeaModel):
71877187
def __init__(
71887188
self,
7189+
charge_type: str = None,
71897190
instance_types: List[str] = None,
7191+
resource_type: str = None,
71907192
):
7193+
self.charge_type = charge_type
71917194
# This parameter is deprecated.
71927195
self.instance_types = instance_types
7196+
self.resource_type = resource_type
71937197

71947198
def validate(self):
71957199
pass
@@ -7200,24 +7204,36 @@ def to_map(self):
72007204
return _map
72017205

72027206
result = dict()
7207+
if self.charge_type is not None:
7208+
result['ChargeType'] = self.charge_type
72037209
if self.instance_types is not None:
72047210
result['InstanceTypes'] = self.instance_types
7211+
if self.resource_type is not None:
7212+
result['ResourceType'] = self.resource_type
72057213
return result
72067214

72077215
def from_map(self, m: dict = None):
72087216
m = m or dict()
7217+
if m.get('ChargeType') is not None:
7218+
self.charge_type = m.get('ChargeType')
72097219
if m.get('InstanceTypes') is not None:
72107220
self.instance_types = m.get('InstanceTypes')
7221+
if m.get('ResourceType') is not None:
7222+
self.resource_type = m.get('ResourceType')
72117223
return self
72127224

72137225

72147226
class DescribeMachineSpecShrinkRequest(TeaModel):
72157227
def __init__(
72167228
self,
7229+
charge_type: str = None,
72177230
instance_types_shrink: str = None,
7231+
resource_type: str = None,
72187232
):
7233+
self.charge_type = charge_type
72197234
# This parameter is deprecated.
72207235
self.instance_types_shrink = instance_types_shrink
7236+
self.resource_type = resource_type
72217237

72227238
def validate(self):
72237239
pass
@@ -7228,14 +7244,22 @@ def to_map(self):
72287244
return _map
72297245

72307246
result = dict()
7247+
if self.charge_type is not None:
7248+
result['ChargeType'] = self.charge_type
72317249
if self.instance_types_shrink is not None:
72327250
result['InstanceTypes'] = self.instance_types_shrink
7251+
if self.resource_type is not None:
7252+
result['ResourceType'] = self.resource_type
72337253
return result
72347254

72357255
def from_map(self, m: dict = None):
72367256
m = m or dict()
7257+
if m.get('ChargeType') is not None:
7258+
self.charge_type = m.get('ChargeType')
72377259
if m.get('InstanceTypes') is not None:
72387260
self.instance_types_shrink = m.get('InstanceTypes')
7261+
if m.get('ResourceType') is not None:
7262+
self.resource_type = m.get('ResourceType')
72397263
return self
72407264

72417265

@@ -15130,6 +15154,134 @@ def from_map(self, m: dict = None):
1513015154
return self
1513115155

1513215156

15157+
class MigrateResourceInstanceRequest(TeaModel):
15158+
def __init__(
15159+
self,
15160+
dest_resource_id: str = None,
15161+
instance_ids: List[str] = None,
15162+
migrate_to_hybrid: bool = None,
15163+
):
15164+
# The ID of the destination resource group.
15165+
#
15166+
# This parameter is required.
15167+
self.dest_resource_id = dest_resource_id
15168+
# The instance ID.
15169+
#
15170+
# This parameter is required.
15171+
self.instance_ids = instance_ids
15172+
self.migrate_to_hybrid = migrate_to_hybrid
15173+
15174+
def validate(self):
15175+
pass
15176+
15177+
def to_map(self):
15178+
_map = super().to_map()
15179+
if _map is not None:
15180+
return _map
15181+
15182+
result = dict()
15183+
if self.dest_resource_id is not None:
15184+
result['DestResourceId'] = self.dest_resource_id
15185+
if self.instance_ids is not None:
15186+
result['InstanceIds'] = self.instance_ids
15187+
if self.migrate_to_hybrid is not None:
15188+
result['MigrateToHybrid'] = self.migrate_to_hybrid
15189+
return result
15190+
15191+
def from_map(self, m: dict = None):
15192+
m = m or dict()
15193+
if m.get('DestResourceId') is not None:
15194+
self.dest_resource_id = m.get('DestResourceId')
15195+
if m.get('InstanceIds') is not None:
15196+
self.instance_ids = m.get('InstanceIds')
15197+
if m.get('MigrateToHybrid') is not None:
15198+
self.migrate_to_hybrid = m.get('MigrateToHybrid')
15199+
return self
15200+
15201+
15202+
class MigrateResourceInstanceResponseBody(TeaModel):
15203+
def __init__(
15204+
self,
15205+
instance_ids: List[str] = None,
15206+
message: str = None,
15207+
request_id: str = None,
15208+
):
15209+
# The instance ID.
15210+
self.instance_ids = instance_ids
15211+
# The returned message.
15212+
self.message = message
15213+
# The request ID.
15214+
self.request_id = request_id
15215+
15216+
def validate(self):
15217+
pass
15218+
15219+
def to_map(self):
15220+
_map = super().to_map()
15221+
if _map is not None:
15222+
return _map
15223+
15224+
result = dict()
15225+
if self.instance_ids is not None:
15226+
result['InstanceIds'] = self.instance_ids
15227+
if self.message is not None:
15228+
result['Message'] = self.message
15229+
if self.request_id is not None:
15230+
result['RequestId'] = self.request_id
15231+
return result
15232+
15233+
def from_map(self, m: dict = None):
15234+
m = m or dict()
15235+
if m.get('InstanceIds') is not None:
15236+
self.instance_ids = m.get('InstanceIds')
15237+
if m.get('Message') is not None:
15238+
self.message = m.get('Message')
15239+
if m.get('RequestId') is not None:
15240+
self.request_id = m.get('RequestId')
15241+
return self
15242+
15243+
15244+
class MigrateResourceInstanceResponse(TeaModel):
15245+
def __init__(
15246+
self,
15247+
headers: Dict[str, str] = None,
15248+
status_code: int = None,
15249+
body: MigrateResourceInstanceResponseBody = None,
15250+
):
15251+
self.headers = headers
15252+
self.status_code = status_code
15253+
self.body = body
15254+
15255+
def validate(self):
15256+
if self.body:
15257+
self.body.validate()
15258+
15259+
def to_map(self):
15260+
_map = super().to_map()
15261+
if _map is not None:
15262+
return _map
15263+
15264+
result = dict()
15265+
if self.headers is not None:
15266+
result['headers'] = self.headers
15267+
if self.status_code is not None:
15268+
result['statusCode'] = self.status_code
15269+
if self.body is not None:
15270+
result['body'] = self.body.to_map()
15271+
return result
15272+
15273+
def from_map(self, m: dict = None):
15274+
m = m or dict()
15275+
if m.get('headers') is not None:
15276+
self.headers = m.get('headers')
15277+
if m.get('statusCode') is not None:
15278+
self.status_code = m.get('statusCode')
15279+
if m.get('body') is not None:
15280+
temp_model = MigrateResourceInstanceResponseBody()
15281+
self.body = temp_model.from_map(m['body'])
15282+
return self
15283+
15284+
1513315285
class ReinstallTenantAddonResponseBody(TeaModel):
1513415286
def __init__(
1513515287
self,

eas-20210701/setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
"""
2525
setup module for alibabacloud_eas20210701.
2626
27-
Created on 06/11/2025
27+
Created on 28/11/2025
2828
2929
@author: Alibaba Cloud SDK
3030
"""

0 commit comments

Comments
 (0)