/* * 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 detective-2018-10-26.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.Detective.Model { /// /// Details about a member account in a behavior graph. /// public partial class MemberDetail { private string _accountId; private string _administratorId; private Dictionary _datasourcePackageIngestStates = new Dictionary(); private MemberDisabledReason _disabledReason; private string _emailAddress; private string _graphArn; private InvitationType _invitationType; private DateTime? _invitedTime; private string _masterId; private double? _percentOfGraphUtilization; private DateTime? _percentOfGraphUtilizationUpdatedTime; private MemberStatus _status; private DateTime? _updatedTime; private Dictionary _volumeUsageByDatasourcePackage = new Dictionary(); private long? _volumeUsageInBytes; private DateTime? _volumeUsageUpdatedTime; /// /// Gets and sets the property AccountId. /// /// The Amazon Web Services account identifier for the member account. /// /// [AWSProperty(Min=12, Max=12)] public string AccountId { get { return this._accountId; } set { this._accountId = value; } } // Check to see if AccountId property is set internal bool IsSetAccountId() { return this._accountId != null; } /// /// Gets and sets the property AdministratorId. /// /// The Amazon Web Services account identifier of the administrator account for the behavior /// graph. /// /// [AWSProperty(Min=12, Max=12)] public string AdministratorId { get { return this._administratorId; } set { this._administratorId = value; } } // Check to see if AdministratorId property is set internal bool IsSetAdministratorId() { return this._administratorId != null; } /// /// Gets and sets the property DatasourcePackageIngestStates. /// /// The state of a data source package for the behavior graph. /// /// public Dictionary DatasourcePackageIngestStates { get { return this._datasourcePackageIngestStates; } set { this._datasourcePackageIngestStates = value; } } // Check to see if DatasourcePackageIngestStates property is set internal bool IsSetDatasourcePackageIngestStates() { return this._datasourcePackageIngestStates != null && this._datasourcePackageIngestStates.Count > 0; } /// /// Gets and sets the property DisabledReason. /// /// For member accounts with a status of ACCEPTED_BUT_DISABLED, the reason /// that the member account is not enabled. /// /// /// /// The reason can have one of the following values: /// ///
  • /// /// VOLUME_TOO_HIGH - Indicates that adding the member account would cause /// the data volume for the behavior graph to be too high. /// ///
  • /// /// VOLUME_UNKNOWN - Indicates that Detective is unable to verify the data /// volume for the member account. This is usually because the member account is not enrolled /// in Amazon GuardDuty. /// ///
///
public MemberDisabledReason DisabledReason { get { return this._disabledReason; } set { this._disabledReason = value; } } // Check to see if DisabledReason property is set internal bool IsSetDisabledReason() { return this._disabledReason != null; } /// /// Gets and sets the property EmailAddress. /// /// The Amazon Web Services account root user email address for the member account. /// /// [AWSProperty(Min=1, Max=64)] public string EmailAddress { get { return this._emailAddress; } set { this._emailAddress = value; } } // Check to see if EmailAddress property is set internal bool IsSetEmailAddress() { return this._emailAddress != null; } /// /// Gets and sets the property GraphArn. /// /// The ARN of the behavior graph. /// /// public string GraphArn { get { return this._graphArn; } set { this._graphArn = value; } } // Check to see if GraphArn property is set internal bool IsSetGraphArn() { return this._graphArn != null; } /// /// Gets and sets the property InvitationType. /// /// The type of behavior graph membership. /// /// /// /// For an organization account in the organization behavior graph, the type is ORGANIZATION. /// /// /// /// For an account that was invited to a behavior graph, the type is INVITATION. /// /// /// public InvitationType InvitationType { get { return this._invitationType; } set { this._invitationType = value; } } // Check to see if InvitationType property is set internal bool IsSetInvitationType() { return this._invitationType != null; } /// /// Gets and sets the property InvitedTime. /// /// For invited accounts, the date and time that Detective sent the invitation to the /// account. The value is an ISO8601 formatted string. For example, 2021-08-18T16:35:56.284Z. /// /// public DateTime InvitedTime { get { return this._invitedTime.GetValueOrDefault(); } set { this._invitedTime = value; } } // Check to see if InvitedTime property is set internal bool IsSetInvitedTime() { return this._invitedTime.HasValue; } /// /// Gets and sets the property MasterId. /// /// The Amazon Web Services account identifier of the administrator account for the behavior /// graph. /// /// [Obsolete("This property is deprecated. Use AdministratorId instead.")] [AWSProperty(Min=12, Max=12)] public string MasterId { get { return this._masterId; } set { this._masterId = value; } } // Check to see if MasterId property is set internal bool IsSetMasterId() { return this._masterId != null; } /// /// Gets and sets the property PercentOfGraphUtilization. /// /// The member account data volume as a percentage of the maximum allowed data volume. /// 0 indicates 0 percent, and 100 indicates 100 percent. /// /// /// /// Note that this is not the percentage of the behavior graph data volume. /// /// /// /// For example, the data volume for the behavior graph is 80 GB per day. The maximum /// data volume is 160 GB per day. If the data volume for the member account is 40 GB /// per day, then PercentOfGraphUtilization is 25. It represents 25% of the /// maximum allowed data volume. /// /// [Obsolete("This property is deprecated. Use VolumeUsageByDatasourcePackage instead.")] public double PercentOfGraphUtilization { get { return this._percentOfGraphUtilization.GetValueOrDefault(); } set { this._percentOfGraphUtilization = value; } } // Check to see if PercentOfGraphUtilization property is set internal bool IsSetPercentOfGraphUtilization() { return this._percentOfGraphUtilization.HasValue; } /// /// Gets and sets the property PercentOfGraphUtilizationUpdatedTime. /// /// The date and time when the graph utilization percentage was last updated. The value /// is an ISO8601 formatted string. For example, 2021-08-18T16:35:56.284Z. /// /// [Obsolete("This property is deprecated. Use VolumeUsageByDatasourcePackage instead.")] public DateTime PercentOfGraphUtilizationUpdatedTime { get { return this._percentOfGraphUtilizationUpdatedTime.GetValueOrDefault(); } set { this._percentOfGraphUtilizationUpdatedTime = value; } } // Check to see if PercentOfGraphUtilizationUpdatedTime property is set internal bool IsSetPercentOfGraphUtilizationUpdatedTime() { return this._percentOfGraphUtilizationUpdatedTime.HasValue; } /// /// Gets and sets the property Status. /// /// The current membership status of the member account. The status can have one of the /// following values: /// ///
  • /// /// INVITED - For invited accounts only. Indicates that the member was sent /// an invitation but has not yet responded. /// ///
  • /// /// VERIFICATION_IN_PROGRESS - For invited accounts only, indicates that /// Detective is verifying that the account identifier and email address provided for /// the member account match. If they do match, then Detective sends the invitation. If /// the email address and account identifier don't match, then the member cannot be added /// to the behavior graph. /// /// /// /// For organization accounts in the organization behavior graph, indicates that Detective /// is verifying that the account belongs to the organization. /// ///
  • /// /// VERIFICATION_FAILED - For invited accounts only. Indicates that the /// account and email address provided for the member account do not match, and Detective /// did not send an invitation to the account. /// ///
  • /// /// ENABLED - Indicates that the member account currently contributes data /// to the behavior graph. For invited accounts, the member account accepted the invitation. /// For organization accounts in the organization behavior graph, the Detective administrator /// account enabled the organization account as a member account. /// ///
  • /// /// ACCEPTED_BUT_DISABLED - The account accepted the invitation, or was /// enabled by the Detective administrator account, but is prevented from contributing /// data to the behavior graph. DisabledReason provides the reason why the /// member account is not enabled. /// ///
/// /// Invited accounts that declined an invitation or that were removed from the behavior /// graph are not included. In the organization behavior graph, organization accounts /// that the Detective administrator account did not enable are not included. /// ///
public MemberStatus Status { get { return this._status; } set { this._status = value; } } // Check to see if Status property is set internal bool IsSetStatus() { return this._status != null; } /// /// Gets and sets the property UpdatedTime. /// /// The date and time that the member account was last updated. The value is an ISO8601 /// formatted string. For example, 2021-08-18T16:35:56.284Z. /// /// public DateTime UpdatedTime { get { return this._updatedTime.GetValueOrDefault(); } set { this._updatedTime = value; } } // Check to see if UpdatedTime property is set internal bool IsSetUpdatedTime() { return this._updatedTime.HasValue; } /// /// Gets and sets the property VolumeUsageByDatasourcePackage. /// /// Details on the volume of usage for each data source package in a behavior graph. /// /// public Dictionary VolumeUsageByDatasourcePackage { get { return this._volumeUsageByDatasourcePackage; } set { this._volumeUsageByDatasourcePackage = value; } } // Check to see if VolumeUsageByDatasourcePackage property is set internal bool IsSetVolumeUsageByDatasourcePackage() { return this._volumeUsageByDatasourcePackage != null && this._volumeUsageByDatasourcePackage.Count > 0; } /// /// Gets and sets the property VolumeUsageInBytes. /// /// The data volume in bytes per day for the member account. /// /// [Obsolete("This property is deprecated. Use VolumeUsageByDatasourcePackage instead.")] public long VolumeUsageInBytes { get { return this._volumeUsageInBytes.GetValueOrDefault(); } set { this._volumeUsageInBytes = value; } } // Check to see if VolumeUsageInBytes property is set internal bool IsSetVolumeUsageInBytes() { return this._volumeUsageInBytes.HasValue; } /// /// Gets and sets the property VolumeUsageUpdatedTime. /// /// The data and time when the member account data volume was last updated. The value /// is an ISO8601 formatted string. For example, 2021-08-18T16:35:56.284Z. /// /// [Obsolete("This property is deprecated. Use VolumeUsageByDatasourcePackage instead.")] public DateTime VolumeUsageUpdatedTime { get { return this._volumeUsageUpdatedTime.GetValueOrDefault(); } set { this._volumeUsageUpdatedTime = value; } } // Check to see if VolumeUsageUpdatedTime property is set internal bool IsSetVolumeUsageUpdatedTime() { return this._volumeUsageUpdatedTime.HasValue; } } }