Source code for alibabacloud_oss_v2.models.bucket_inventory

from typing import Optional, List, Any, Union
from enum import Enum
from .. import serde


[docs] class InventoryFormatType(str, Enum): """ The format of the exported inventory list """ CSV = 'CSV'
[docs] class InventoryFrequencyType(str, Enum): """ The frequency that inventory lists are exported """ DAILY = 'Daily' WEEKLY = 'Weekly'
[docs] class InventoryOptionalFieldType(str, Enum): """ InventoryOptionalFieldType The configuration fields that are included in inventory lists. """ SIZE = 'Size' LAST_MODIFIED_DATE = 'LastModifiedDate' E_TAG = 'ETag' STORAGE_CLASS = 'StorageClass' IS_MULTIPART_UPLOADED = 'IsMultipartUploaded' ENCRYPTION_STATUS = 'EncryptionStatus' TRANSITION_TIME = 'TransitionTime'
[docs] class SSEKMS(serde.Model): """ The container that stores the customer master key (CMK) used for SSE-KMS encryption. """ _attribute_map = { 'key_id': {'tag': 'xml', 'rename': 'KeyId', 'type': 'str'}, } _xml_map = { 'name': 'SSEKMS' } def __init__( self, key_id: Optional[str] = None, **kwargs: Any ) -> None: """ key_id (str, optional): The ID of the key that is managed by Key Management Service (KMS). """ super().__init__(**kwargs) self.key_id = key_id
[docs] class InventorySchedule(serde.Model): """ Contains the frequency that inventory lists are exported """ _attribute_map = { 'frequency': {'tag': 'xml', 'rename': 'Frequency', 'type': 'str'}, } _xml_map = { 'name': 'Schedule' } def __init__( self, frequency: Optional[Union[str, InventoryFrequencyType]] = None, **kwargs: Any ) -> None: """ frequency (str | InventoryFrequencyType, optional): The frequency at which the inventory list is exported. Valid values:- Daily: The inventory list is exported on a daily basis. - Weekly: The inventory list is exported on a weekly basis. """ super().__init__(**kwargs) self.frequency = frequency
[docs] class InventoryFilter(serde.Model): """ The container that stores the prefix used to filter objects. Only objects whose names contain the specified prefix are included in the inventory. """ _attribute_map = { 'lower_size_bound': {'tag': 'xml', 'rename': 'LowerSizeBound', 'type': 'int'}, 'upper_size_bound': {'tag': 'xml', 'rename': 'UpperSizeBound', 'type': 'int'}, 'storage_class': {'tag': 'xml', 'rename': 'StorageClass', 'type': 'str'}, 'prefix': {'tag': 'xml', 'rename': 'Prefix', 'type': 'str'}, 'last_modify_begin_time_stamp': {'tag': 'xml', 'rename': 'LastModifyBeginTimeStamp', 'type': 'int'}, 'last_modify_end_time_stamp': {'tag': 'xml', 'rename': 'LastModifyEndTimeStamp', 'type': 'int'}, } _xml_map = { 'name': 'Filter' } def __init__( self, lower_size_bound: Optional[int] = None, upper_size_bound: Optional[int] = None, storage_class: Optional[str] = None, prefix: Optional[str] = None, last_modify_begin_time_stamp: Optional[int] = None, last_modify_end_time_stamp: Optional[int] = None, **kwargs: Any ) -> None: """ lower_size_bound (int, optional): The minimum size of the specified object. Unit: B.Valid values: [0 B, 48.8 TB] upper_size_bound (int, optional): The maximum size of the specified object. Unit: B.Valid values: (0 B, 48.8 TB] storage_class (str, optional): The storage class of the object. You can specify multiple storage classes.Valid values:StandardIAArchiveColdArchiveAll prefix (str, optional): The prefix that is specified in the inventory. last_modify_begin_time_stamp (int, optional): The beginning of the time range during which the object was last modified. Unit: seconds.Valid values: [1262275200, 253402271999] last_modify_end_time_stamp (int, optional): The end of the time range during which the object was last modified. Unit: seconds.Valid values: [1262275200, 253402271999] """ super().__init__(**kwargs) self.lower_size_bound = lower_size_bound self.upper_size_bound = upper_size_bound self.storage_class = storage_class self.prefix = prefix self.last_modify_begin_time_stamp = last_modify_begin_time_stamp self.last_modify_end_time_stamp = last_modify_end_time_stamp
[docs] class OptionalFields(serde.Model): """ The container that stores the configuration fields in inventory lists. """ _attribute_map = { 'fields': {'tag': 'xml', 'rename': 'Field', 'type': '[str]'}, } _xml_map = { 'name': 'OptionalFields' } def __init__( self, fields: Optional[List[Union[str, InventoryOptionalFieldType]]] = None, **kwargs: Any ) -> None: """ fields (List[Union[str, InventoryOptionalFieldType]], optional): The configuration fields that are included in inventory lists. Available configuration fields:* Size: the size of the object.* LastModifiedDate: the time when the object was last modified.* ETag: the ETag of the object. It is used to identify the content of the object.* StorageClass: the storage class of the object.* IsMultipartUploaded: specifies whether the object is uploaded by using multipart upload.* EncryptionStatus: the encryption status of the object. """ super().__init__(**kwargs) self.fields = fields
[docs] class InventoryEncryption(serde.Model): """ The container that stores the encryption method of exported inventory lists. """ _attribute_map = { 'sse_kms': {'tag': 'xml', 'rename': 'SSE-KMS', 'type': 'SSEKMS'}, 'sse_oss': {'tag': 'xml', 'rename': 'SSE-OSS', 'type': 'str'}, } _xml_map = { 'name': 'Encryption' } _dependency_map = { 'SSEKMS': {'new': lambda: SSEKMS()}, } def __init__( self, sse_kms: Optional[SSEKMS] = None, sse_oss: Optional[str] = None, **kwargs: Any ) -> None: """ sse_kms (SSEKMS, optional): The container that stores the customer master key (CMK) used for SSE-KMS encryption. sse_oss (str, optional): The container that stores information about the SSE-OSS encryption method. """ super().__init__(**kwargs) self.sse_kms = sse_kms self.sse_oss = sse_oss
[docs] class InventoryOSSBucketDestination(serde.Model): """ The container that stores information about the bucket in which exported inventory lists are stored. """ _attribute_map = { 'format': {'tag': 'xml', 'rename': 'Format', 'type': 'str'}, 'account_id': {'tag': 'xml', 'rename': 'AccountId', 'type': 'str'}, 'role_arn': {'tag': 'xml', 'rename': 'RoleArn', 'type': 'str'}, 'bucket': {'tag': 'xml', 'rename': 'Bucket', 'type': 'str'}, 'prefix': {'tag': 'xml', 'rename': 'Prefix', 'type': 'str'}, 'encryption': {'tag': 'xml', 'rename': 'Encryption', 'type': 'InventoryEncryption'}, } _xml_map = { 'name': 'OSSBucketDestination' } _dependency_map = { 'InventoryEncryption': {'new': lambda: InventoryEncryption()}, } def __init__( self, format: Optional[Union[str, InventoryFormatType]] = None, account_id: Optional[str] = None, role_arn: Optional[str] = None, bucket: Optional[str] = None, prefix: Optional[str] = None, encryption: Optional[InventoryEncryption] = None, **kwargs: Any ) -> None: """ format (str | InventoryFormatType, optional): The format of exported inventory lists. The exported inventory lists are CSV objects compressed by using GZIP. account_id (str, optional): The ID of the account to which permissions are granted by the bucket owner. role_arn (str, optional): The Alibaba Cloud Resource Name (ARN) of the role that has the permissions to read all objects from the source bucket and write objects to the destination bucket. Format: `acs:ram::uid:role/rolename`. bucket (str, optional): The name of the bucket in which exported inventory lists are stored. prefix (str, optional): The prefix of the path in which the exported inventory lists are stored. encryption (InventoryEncryption, optional): The container that stores the encryption method of the exported inventory lists. """ super().__init__(**kwargs) self.format = format self.account_id = account_id self.role_arn = role_arn self.bucket = bucket self.prefix = prefix self.encryption = encryption
[docs] class InventoryDestination(serde.Model): """ The container that stores information about exported inventory lists. """ _attribute_map = { 'oss_bucket_destination': {'tag': 'xml', 'rename': 'OSSBucketDestination', 'type': 'InventoryOSSBucketDestination'}, } _xml_map = { 'name': 'Destination' } _dependency_map = { 'InventoryOSSBucketDestination': {'new': lambda: InventoryOSSBucketDestination()}, } def __init__( self, oss_bucket_destination: Optional[InventoryOSSBucketDestination] = None, **kwargs: Any ) -> None: """ oss_bucket_destination (InventoryOSSBucketDestination, optional): The container that stores information about the bucket in which exported inventory lists are stored. """ super().__init__(**kwargs) self.oss_bucket_destination = oss_bucket_destination
[docs] class InventoryConfiguration(serde.Model): """ The container that stores the configurations of the inventory. """ _attribute_map = { 'included_object_versions': {'tag': 'xml', 'rename': 'IncludedObjectVersions', 'type': 'str'}, 'optional_fields': {'tag': 'xml', 'rename': 'OptionalFields', 'type': 'OptionalFields'}, 'id': {'tag': 'xml', 'rename': 'Id', 'type': 'str'}, 'is_enabled': {'tag': 'xml', 'rename': 'IsEnabled', 'type': 'bool'}, 'destination': {'tag': 'xml', 'rename': 'Destination', 'type': 'InventoryDestination'}, 'schedule': {'tag': 'xml', 'rename': 'Schedule', 'type': 'InventorySchedule'}, 'filter': {'tag': 'xml', 'rename': 'Filter', 'type': 'InventoryFilter'}, } _xml_map = { 'name': 'InventoryConfiguration' } _dependency_map = { 'OptionalFields': {'new': lambda: OptionalFields()}, 'InventoryDestination': {'new': lambda: InventoryDestination()}, 'InventorySchedule': {'new': lambda: InventorySchedule()}, 'InventoryFilter': {'new': lambda: InventoryFilter()}, } def __init__( self, included_object_versions: Optional[str] = None, optional_fields: Optional[OptionalFields] = None, id: Optional[str] = None, is_enabled: Optional[bool] = None, destination: Optional[InventoryDestination] = None, schedule: Optional[InventorySchedule] = None, filter: Optional[InventoryFilter] = None, **kwargs: Any ) -> None: """ included_object_versions (str, optional): Specifies whether to include the version information about the objects in inventory lists. Valid values:* All: The information about all versions of the objects is exported.* Current: Only the information about the current versions of the objects is exported. optional_fields (OptionalFields, optional): The container that stores the configuration fields in inventory lists. id (str, optional): The name of the inventory. The name must be unique in the bucket. is_enabled (bool, optional): Specifies whether to enable the bucket inventory feature. Valid values:* true* false destination (InventoryDestination, optional): The container that stores the exported inventory lists. schedule (InventorySchedule, optional): The container that stores information about the frequency at which inventory lists are exported. filter (InventoryFilter, optional): The container that stores the prefix used to filter objects. Only objects whose names contain the specified prefix are included in the inventory. """ super().__init__(**kwargs) self.included_object_versions = included_object_versions self.optional_fields = optional_fields self.id = id self.is_enabled = is_enabled self.destination = destination self.schedule = schedule self.filter = filter
[docs] class ListInventoryConfigurationsResult(serde.Model): """ The container that stores inventory configuration list. """ _attribute_map = { 'inventory_configurations': {'tag': 'xml', 'rename': 'InventoryConfiguration', 'type': '[InventoryConfiguration]'}, 'is_truncated': {'tag': 'xml', 'rename': 'IsTruncated', 'type': 'bool'}, 'next_continuation_token': {'tag': 'xml', 'rename': 'NextContinuationToken', 'type': 'str'}, } _xml_map = { 'name': 'ListInventoryConfigurationsResult' } _dependency_map = { 'InventoryConfiguration': {'new': lambda: InventoryConfiguration()}, } def __init__( self, inventory_configurations: Optional[List[InventoryConfiguration]] = None, is_truncated: Optional[bool] = None, next_continuation_token: Optional[str] = None, **kwargs: Any ) -> None: """ inventory_configurations (List[InventoryConfiguration], optional): The container that stores inventory configurations. is_truncated (bool, optional): Specifies whether to list all inventory tasks configured for the bucket.Valid values: true and false- The value of false indicates that all inventory tasks configured for the bucket are listed.- The value of true indicates that not all inventory tasks configured for the bucket are listed. To list the next page of inventory configurations, set the continuation-token parameter in the next request to the value of the NextContinuationToken header in the response to the current request. next_continuation_token (str, optional): If the value of IsTruncated in the response is true and value of this header is not null, set the continuation-token parameter in the next request to the value of this header. """ super().__init__(**kwargs) self.inventory_configurations = inventory_configurations self.is_truncated = is_truncated self.next_continuation_token = next_continuation_token
[docs] class PutBucketInventoryRequest(serde.RequestModel): """ The request for the PutBucketInventory operation. """ _attribute_map = { 'bucket': {'tag': 'input', 'position': 'host', 'rename': 'bucket', 'type': 'str', 'required': True}, 'inventory_id': {'tag': 'input', 'position': 'query', 'rename': 'inventoryId', 'type': 'str', 'required': True}, 'inventory_configuration': {'tag': 'input', 'position': 'body', 'rename': 'InventoryConfiguration', 'type': 'xml'}, } def __init__( self, bucket: str = None, inventory_id: str = None, inventory_configuration: Optional[InventoryConfiguration] = None, **kwargs: Any ) -> None: """ bucket (str, required): The name of the bucket. inventory_id (str, required): The name of the inventory. inventory_configuration (InventoryConfiguration, optional): Request body schema. """ super().__init__(**kwargs) self.bucket = bucket self.inventory_id = inventory_id self.inventory_configuration = inventory_configuration
[docs] class PutBucketInventoryResult(serde.ResultModel): """ The request for the PutBucketInventory operation. """
[docs] class GetBucketInventoryRequest(serde.RequestModel): """ The request for the GetBucketInventory operation. """ _attribute_map = { 'bucket': {'tag': 'input', 'position': 'host', 'rename': 'bucket', 'type': 'str', 'required': True}, 'inventory_id': {'tag': 'input', 'position': 'query', 'rename': 'inventoryId', 'type': 'str', 'required': True}, } def __init__( self, bucket: str = None, inventory_id: str = None, **kwargs: Any ) -> None: """ bucket (str, required): The name of the bucket. inventory_id (str, required): The name of the inventory to be queried. """ super().__init__(**kwargs) self.bucket = bucket self.inventory_id = inventory_id
[docs] class GetBucketInventoryResult(serde.ResultModel): """ The request for the GetBucketInventory operation. """ _attribute_map = { 'inventory_configuration': {'tag': 'output', 'position': 'body', 'rename': 'InventoryConfiguration', 'type': 'InventoryConfiguration,xml'}, } _dependency_map = { 'InventoryConfiguration': {'new': lambda: InventoryConfiguration()}, } def __init__( self, inventory_configuration: Optional[InventoryConfiguration] = None, **kwargs: Any ) -> None: """ inventory_configuration (InventoryConfiguration, optional): The inventory task configured for a bucket. """ super().__init__(**kwargs) self.inventory_configuration = inventory_configuration
[docs] class ListBucketInventoryRequest(serde.RequestModel): """ The request for the ListBucketInventory operation. """ _attribute_map = { 'bucket': {'tag': 'input', 'position': 'host', 'rename': 'bucket', 'type': 'str', 'required': True}, 'continuation_token': {'tag': 'input', 'position': 'query', 'rename': 'continuation-token', 'type': 'str'}, } def __init__( self, bucket: str = None, continuation_token: Optional[str] = None, **kwargs: Any ) -> None: """ bucket (str, required): The name of the bucket. continuation_token (str, optional): Specify the start position of the list operation. You can obtain this token from the NextContinuationToken field of last ListBucketInventory's result. """ super().__init__(**kwargs) self.bucket = bucket self.continuation_token = continuation_token
[docs] class ListBucketInventoryResult(serde.ResultModel): """ The request for the ListBucketInventory operation. """ _attribute_map = { 'list_inventory_configurations_result': {'tag': 'output', 'position': 'body', 'rename': 'ListInventoryConfigurationsResult', 'type': 'ListInventoryConfigurationsResult,xml'}, } _dependency_map = { 'ListInventoryConfigurationsResult': {'new': lambda: ListInventoryConfigurationsResult()}, } def __init__( self, list_inventory_configurations_result: Optional[ListInventoryConfigurationsResult] = None, **kwargs: Any ) -> None: """ list_inventory_configurations_result (ListInventoryConfigurationsResult, optional): The container that stores inventory configuration list. """ super().__init__(**kwargs) self.list_inventory_configurations_result = list_inventory_configurations_result
[docs] class DeleteBucketInventoryRequest(serde.RequestModel): """ The request for the DeleteBucketInventory operation. """ _attribute_map = { 'bucket': {'tag': 'input', 'position': 'host', 'rename': 'bucket', 'type': 'str', 'required': True}, 'inventory_id': {'tag': 'input', 'position': 'query', 'rename': 'inventoryId', 'type': 'str', 'required': True}, } def __init__( self, bucket: str = None, inventory_id: str = None, **kwargs: Any ) -> None: """ bucket (str, required): The name of the bucket. inventory_id (str, required): The name of the inventory that you want to delete. """ super().__init__(**kwargs) self.bucket = bucket self.inventory_id = inventory_id
[docs] class DeleteBucketInventoryResult(serde.ResultModel): """ The request for the DeleteBucketInventory operation. """