# -*- coding: utf-8 -*-
# Copyright 2021 Cohesity Inc.
import cohesity_management_sdk.models.deploy_v_ms_to_aws_params
import cohesity_management_sdk.models.deploy_fleet_params
import cohesity_management_sdk.models.deploy_v_ms_to_azure_params
import cohesity_management_sdk.models.deploy_v_ms_to_gcp_params
import cohesity_management_sdk.models.replicate_snapshots_to_aws_params
import cohesity_management_sdk.models.replicate_snapshots_to_azure_params
[docs]class DeployVMsToCloudParams(object):
"""Implementation of the 'DeployVMsToCloudParams' model.
Contains Cloud specific information needed to identify various resources
when deploying a VM to Cloud.
Attributes:
deploy_fleet_params (DeployFleetParams): Contains Fleet specific
params.
deploy_vms_to_aws_params (DeployVMsToAWSParams): Contains AWS specific
information needed to identify various resources when converting
and deploying a VM to AWS.
deploy_vms_to_azure_params (DeployVMsToAzureParams): Contains Azure
specific information needed to identify various resources when
converting and deploying a VM to Azure.
deploy_vms_to_gcp_params (DeployVMsToGCPParams): Contains GCP specific
information needed to identify various resources when converting
and deploying a VM to GCP.
replicate_snapshots_to_aws_params (ReplicateSnapshotsToAWSParams):
Params required to replicate snapshots to another AWS source. This
is populated for AWS snapshot manager replication.
replicate_snapshots_to_azure_params (ReplicateSnapshotsToAzureParams):
This is populated for Azure snapshot manager replication.
"""
# Create a mapping from Model property names to API property names
_names = {
"deploy_fleet_params":'deployFleetParams',
"deploy_vms_to_aws_params":'deployVmsToAwsParams',
"deploy_vms_to_azure_params":'deployVmsToAzureParams',
"deploy_vms_to_gcp_params":'deployVmsToGcpParams',
"replicate_snapshots_to_aws_params":'replicateSnapshotsToAwsParams',
"replicate_snapshots_to_azure_params":'replicateSnapshotsToAzureParams'
}
def __init__(self,
deploy_fleet_params=None,
deploy_vms_to_aws_params=None,
deploy_vms_to_azure_params=None,
deploy_vms_to_gcp_params=None,
replicate_snapshots_to_aws_params=None,
replicate_snapshots_to_azure_params=None):
"""Constructor for the DeployVMsToCloudParams class"""
# Initialize members of the class
self.deploy_fleet_params = deploy_fleet_params
self.deploy_vms_to_aws_params = deploy_vms_to_aws_params
self.deploy_vms_to_azure_params = deploy_vms_to_azure_params
self.deploy_vms_to_gcp_params = deploy_vms_to_gcp_params
self.replicate_snapshots_to_aws_params = replicate_snapshots_to_aws_params
self.replicate_snapshots_to_azure_params = replicate_snapshots_to_azure_params
[docs] @classmethod
def from_dictionary(cls,
dictionary):
"""Creates an instance of this model from a dictionary
Args:
dictionary (dictionary): A dictionary representation of the object as
obtained from the deserialization of the server's response. The keys
MUST match property names in the API description.
Returns:
object: An instance of this structure class.
"""
if dictionary is None:
return None
# Extract variables from the dictionary
deploy_fleet_params = cohesity_management_sdk.models.deploy_fleet_params.DeployFleetParams.from_dictionary(dictionary.get('deployFleetParams')) if dictionary.get('deployFleetParams') else None
deploy_vms_to_aws_params = cohesity_management_sdk.models.deploy_v_ms_to_aws_params.DeployVMsToAWSParams.from_dictionary(dictionary.get('deployVmsToAwsParams')) if dictionary.get('deployVmsToAwsParams') else None
deploy_vms_to_azure_params = cohesity_management_sdk.models.deploy_v_ms_to_azure_params.DeployVMsToAzureParams.from_dictionary(dictionary.get('deployVmsToAzureParams')) if dictionary.get('deployVmsToAzureParams') else None
deploy_vms_to_gcp_params = cohesity_management_sdk.models.deploy_v_ms_to_gcp_params.DeployVMsToGCPParams.from_dictionary(dictionary.get('deployVmsToGcpParams')) if dictionary.get('deployVmsToGcpParams') else None
replicate_snapshots_to_aws_params = cohesity_management_sdk.models.replicate_snapshots_to_aws_params.ReplicateSnapshotsToAWSParams.from_dictionary(dictionary.get('replicateSnapshotsToAwsParams')) if dictionary.get('replicateSnapshotsToAwsParams') else None
replicate_snapshots_to_azure_params = cohesity_management_sdk.models.replicate_snapshots_to_azure_params.ReplicateSnapshotsToAzureParams.from_dictionary(dictionary.get('replicateSnapshotsToAzureParams')) if dictionary.get('replicateSnapshotsToAzureParams') else None
# Return an object of this model
return cls(deploy_fleet_params,
deploy_vms_to_aws_params,
deploy_vms_to_azure_params,
deploy_vms_to_gcp_params,
replicate_snapshots_to_aws_params,
replicate_snapshots_to_azure_params)