# -*- coding: utf-8 -*-
# Copyright 2021 Cohesity Inc.
import cohesity_management_sdk.models.amazon_cloud_credentials
import cohesity_management_sdk.models.azure_cloud_credentials
import cohesity_management_sdk.models.google_cloud_credentials
import cohesity_management_sdk.models.nas_credentials
import cohesity_management_sdk.models.oracle_cloud_credentials
import cohesity_management_sdk.models.q_star_server_credentials
[docs]class VaultConfig(object):
"""Implementation of the 'VaultConfig' model.
Specifies the settings required to connect to a specific Vault type.
For some Vaults, you must also specify a storage location (bucketName).
Attributes:
amazon (AmazonCloudCredentials): Specifies the cloud credentials to
connect to a Amazon service account. Glacier, S3, and
S3-compatible clouds all use these credentials.
azure (AzureCloudCredentials): Specifies the cloud credentials to
connect to a Microsoft Azure service account.
bucket_name (string): Specifies the name of a storage location of the
Vault, where objects are stored. For Google and AMS, this storage
location is called a bucket. For Microsoft Azure, this storage
location is called a container. For QStar and NAS, you do not
specify a storage location.
google (GoogleCloudCredentials): Specifies the cloud credentials to
connect to a Google service account.
nas (NasCredentials): Specifies the server credentials to connect to a
NetApp server.
oracle (OracleCloudCredentials): Specifies the Oracle Cloud
Credentials to connect to an Oracle S3 Compatible vault account.
Oracle Cloud Credentials Region, Access-Key-Id and
Secret-Access-Key. Oracle Cloud properties Tenant and Tier Type.
qstar (QStarServerCredentials): Specifies the server credentials to
connect to a QStar service to manage the media Vault.
"""
# Create a mapping from Model property names to API property names
_names = {
"amazon":'amazon',
"azure":'azure',
"bucket_name":'bucketName',
"google":'google',
"nas":'nas',
"oracle":'oracle',
"qstar":'qstar'
}
def __init__(self,
amazon=None,
azure=None,
bucket_name=None,
google=None,
nas=None,
oracle=None,
qstar=None):
"""Constructor for the VaultConfig class"""
# Initialize members of the class
self.amazon = amazon
self.azure = azure
self.bucket_name = bucket_name
self.google = google
self.nas = nas
self.oracle = oracle
self.qstar = qstar
[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
amazon = cohesity_management_sdk.models.amazon_cloud_credentials.AmazonCloudCredentials.from_dictionary(dictionary.get('amazon')) if dictionary.get('amazon') else None
azure = cohesity_management_sdk.models.azure_cloud_credentials.AzureCloudCredentials.from_dictionary(dictionary.get('azure')) if dictionary.get('azure') else None
bucket_name = dictionary.get('bucketName')
google = cohesity_management_sdk.models.google_cloud_credentials.GoogleCloudCredentials.from_dictionary(dictionary.get('google')) if dictionary.get('google') else None
nas = cohesity_management_sdk.models.nas_credentials.NasCredentials.from_dictionary(dictionary.get('nas')) if dictionary.get('nas') else None
oracle = cohesity_management_sdk.models.oracle_cloud_credentials.OracleCloudCredentials.from_dictionary(dictionary.get('oracle')) if dictionary.get('oracle') else None
qstar = cohesity_management_sdk.models.q_star_server_credentials.QStarServerCredentials.from_dictionary(dictionary.get('qstar')) if dictionary.get('qstar') else None
# Return an object of this model
return cls(amazon,
azure,
bucket_name,
google,
nas,
oracle,
qstar)