import { SENSITIVE_STRING } from "@aws-sdk/smithy-client";
import { SpotFleetRequestConfigDataFilterSensitiveLog, SpotInstanceRequestFilterSensitiveLog, } from "./models_4";
import { DiskImageDetailFilterSensitiveLog, } from "./models_5";
export const ModifyAvailabilityZoneOptInStatus = {
    not_opted_in: "not-opted-in",
    opted_in: "opted-in",
};
export const OperationType = {
    add: "add",
    remove: "remove",
};
export const UnsuccessfulInstanceCreditSpecificationErrorCode = {
    INCORRECT_INSTANCE_STATE: "IncorrectInstanceState",
    INSTANCE_CREDIT_SPECIFICATION_NOT_SUPPORTED: "InstanceCreditSpecification.NotSupported",
    INSTANCE_NOT_FOUND: "InvalidInstanceID.NotFound",
    INVALID_INSTANCE_ID: "InvalidInstanceID.Malformed",
};
export const HostTenancy = {
    dedicated: "dedicated",
    host: "host",
};
export const TargetStorageTier = {
    archive: "archive",
};
export const TrafficMirrorFilterRuleField = {
    description: "description",
    destination_port_range: "destination-port-range",
    protocol: "protocol",
    source_port_range: "source-port-range",
};
export const TrafficMirrorSessionField = {
    description: "description",
    packet_length: "packet-length",
    virtual_network_id: "virtual-network-id",
};
export const VpcTenancy = {
    default: "default",
};
export const Status = {
    inClassic: "InClassic",
    inVpc: "InVpc",
    moveInProgress: "MoveInProgress",
};
export const ReportInstanceReasonCodes = {
    instance_stuck_in_state: "instance-stuck-in-state",
    not_accepting_credentials: "not-accepting-credentials",
    other: "other",
    password_not_available: "password-not-available",
    performance_ebs_volume: "performance-ebs-volume",
    performance_instance_store: "performance-instance-store",
    performance_network: "performance-network",
    performance_other: "performance-other",
    unresponsive: "unresponsive",
};
export const ReportStatusType = {
    impaired: "impaired",
    ok: "ok",
};
export const ResetFpgaImageAttributeName = {
    loadPermission: "loadPermission",
};
export const ResetImageAttributeName = {
    launchPermission: "launchPermission",
};
export const MembershipType = {
    igmp: "igmp",
    static: "static",
};
export const ImportVolumeRequestFilterSensitiveLog = (obj) => ({
    ...obj,
    ...(obj.Image && { Image: DiskImageDetailFilterSensitiveLog(obj.Image) }),
});
export const RequestSpotFleetRequestFilterSensitiveLog = (obj) => ({
    ...obj,
    ...(obj.SpotFleetRequestConfig && {
        SpotFleetRequestConfig: SpotFleetRequestConfigDataFilterSensitiveLog(obj.SpotFleetRequestConfig),
    }),
});
export const RequestSpotLaunchSpecificationFilterSensitiveLog = (obj) => ({
    ...obj,
    ...(obj.UserData && { UserData: SENSITIVE_STRING }),
});
export const RequestSpotInstancesRequestFilterSensitiveLog = (obj) => ({
    ...obj,
    ...(obj.LaunchSpecification && {
        LaunchSpecification: RequestSpotLaunchSpecificationFilterSensitiveLog(obj.LaunchSpecification),
    }),
});
export const RequestSpotInstancesResultFilterSensitiveLog = (obj) => ({
    ...obj,
    ...(obj.SpotInstanceRequests && {
        SpotInstanceRequests: obj.SpotInstanceRequests.map((item) => SpotInstanceRequestFilterSensitiveLog(item)),
    }),
});
export const RunInstancesRequestFilterSensitiveLog = (obj) => ({
    ...obj,
    ...(obj.UserData && { UserData: SENSITIVE_STRING }),
});
export const ScheduledInstancesLaunchSpecificationFilterSensitiveLog = (obj) => ({
    ...obj,
});
export const RunScheduledInstancesRequestFilterSensitiveLog = (obj) => ({
    ...obj,
    ...(obj.LaunchSpecification && { LaunchSpecification: SENSITIVE_STRING }),
});
