/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the macie2-2020-01-01.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.Macie2.Model { /// /// Provides information about the S3 object that a finding applies to. /// public partial class S3Object { private string _bucketArn; private string _eTag; private string _extension; private string _key; private DateTime? _lastModified; private string _path; private bool? _publicAccess; private ServerSideEncryption _serverSideEncryption; private long? _size; private StorageClass _storageClass; private List _tags = new List(); private string _versionId; /// /// Gets and sets the property BucketArn. /// /// The Amazon Resource Name (ARN) of the bucket that contains the object. /// /// public string BucketArn { get { return this._bucketArn; } set { this._bucketArn = value; } } // Check to see if BucketArn property is set internal bool IsSetBucketArn() { return this._bucketArn != null; } /// /// Gets and sets the property ETag. /// /// The entity tag (ETag) that identifies the affected version of the object. If the object /// was overwritten or changed after Amazon Macie produced the finding, this value might /// be different from the current ETag for the object. /// /// public string ETag { get { return this._eTag; } set { this._eTag = value; } } // Check to see if ETag property is set internal bool IsSetETag() { return this._eTag != null; } /// /// Gets and sets the property Extension. /// /// The file name extension of the object. If the object doesn't have a file name extension, /// this value is "". /// /// public string Extension { get { return this._extension; } set { this._extension = value; } } // Check to see if Extension property is set internal bool IsSetExtension() { return this._extension != null; } /// /// Gets and sets the property Key. /// /// The full name (key) of the object, including the object's prefix if applicable. /// /// public string Key { get { return this._key; } set { this._key = value; } } // Check to see if Key property is set internal bool IsSetKey() { return this._key != null; } /// /// Gets and sets the property LastModified. /// /// The date and time, in UTC and extended ISO 8601 format, when the object was last modified. /// /// public DateTime LastModified { get { return this._lastModified.GetValueOrDefault(); } set { this._lastModified = value; } } // Check to see if LastModified property is set internal bool IsSetLastModified() { return this._lastModified.HasValue; } /// /// Gets and sets the property Path. /// /// The full path to the affected object, including the name of the affected bucket and /// the object's name (key). /// /// public string Path { get { return this._path; } set { this._path = value; } } // Check to see if Path property is set internal bool IsSetPath() { return this._path != null; } /// /// Gets and sets the property PublicAccess. /// /// Specifies whether the object is publicly accessible due to the combination of permissions /// settings that apply to the object. /// /// public bool PublicAccess { get { return this._publicAccess.GetValueOrDefault(); } set { this._publicAccess = value; } } // Check to see if PublicAccess property is set internal bool IsSetPublicAccess() { return this._publicAccess.HasValue; } /// /// Gets and sets the property ServerSideEncryption. /// /// The type of server-side encryption that was used to encrypt the object. /// /// public ServerSideEncryption ServerSideEncryption { get { return this._serverSideEncryption; } set { this._serverSideEncryption = value; } } // Check to see if ServerSideEncryption property is set internal bool IsSetServerSideEncryption() { return this._serverSideEncryption != null; } /// /// Gets and sets the property Size. /// /// The total storage size, in bytes, of the object. /// /// public long Size { get { return this._size.GetValueOrDefault(); } set { this._size = value; } } // Check to see if Size property is set internal bool IsSetSize() { return this._size.HasValue; } /// /// Gets and sets the property StorageClass. /// /// The storage class of the object. /// /// public StorageClass StorageClass { get { return this._storageClass; } set { this._storageClass = value; } } // Check to see if StorageClass property is set internal bool IsSetStorageClass() { return this._storageClass != null; } /// /// Gets and sets the property Tags. /// /// The tags that are associated with the object. /// /// public List Tags { get { return this._tags; } set { this._tags = value; } } // Check to see if Tags property is set internal bool IsSetTags() { return this._tags != null && this._tags.Count > 0; } /// /// Gets and sets the property VersionId. /// /// The identifier for the affected version of the object. /// /// public string VersionId { get { return this._versionId; } set { this._versionId = value; } } // Check to see if VersionId property is set internal bool IsSetVersionId() { return this._versionId != null; } } }